On Windows, the equivalent activate script is in the Scripts folder:
> path\to\env\Scripts\activate
А технически какими операторами лучше принимать платежи?
Создал чистый проект (при помощи vue cli установил чистую сборку vue js)
3) Залил с заменой скаченные файлы с гитхаба
git clone git@github/user/proj_name
cd proj_name
npm install
npm run dev
npm run build
import logging
from telegram import InlineKeyboardButton, InlineKeyboardMarkup
from telegram.ext import Updater, CommandHandler, CallbackQueryHandler
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
level=logging.INFO)
logger = logging.getLogger(__name__)
def start(update, context):
keyboard = [[InlineKeyboardButton("Option 1", callback_data='1'),
InlineKeyboardButton("Option 2", callback_data='2')],
[InlineKeyboardButton("Option 3", callback_data='3')]]
reply_markup = InlineKeyboardMarkup(keyboard)
update.message.reply_text('Please choose:', reply_markup=reply_markup)
def button(update, context):
query = update.callback_query
query.edit_message_text(text="Selected option: {}".format(query.data))
def help(update, context):
update.message.reply_text("Use /start to test this bot.")
def error(update, context):
"""Log Errors caused by Updates."""
logger.warning('Update "%s" caused error "%s"', update, context.error)
def main():
# Create the Updater and pass it your bot's token.
# Make sure to set use_context=True to use the new context based callbacks
# Post version 12 this will no longer be necessary
updater = Updater("TOKEN", use_context=True)
updater.dispatcher.add_handler(CommandHandler('start', start))
updater.dispatcher.add_handler(CallbackQueryHandler(button))
updater.dispatcher.add_handler(CommandHandler('help', help))
updater.dispatcher.add_error_handler(error)
# Start the Bot
updater.start_polling()
# Run the bot until the user presses Ctrl-C or the process receives SIGINT,
# SIGTERM or SIGABRT
updater.idle()
if __name__ == '__main__':
main()
Я документации не понимать
3. 2 скрипта однавременно (возможно) пытаются создать новыую запись с одинаковой датой(уникальное значение это дата), как этого избежать?
CREATE TABLE playground (
id serial PRIMARY KEY,
install_date date UNIQUE,
type varchar (50) NOT NULL
);
INSERT INTO playground (install_date, type) VALUES ('2019-11-06', 'action');
pip install pytelegrambotapi
pip3 install pytelegrambotapi
=> pip3# example.py
@profile
def my_func():
a = [1] * (10 ** 6)
b = [2] * (2 * 10 ** 7)
del b
return a
if __name__ == '__main__':
my_func()
$ python -m memory_profiler example.py
# output:
Line # Mem usage Increment Line Contents
==============================================
3 @profile
4 5.97 MB 0.00 MB def my_func():
5 13.61 MB 7.64 MB a = [1] * (10 ** 6)
6 166.20 MB 152.59 MB b = [2] * (2 * 10 ** 7)
7 13.61 MB -152.59 MB del b
8 13.61 MB 0.00 MB return a
#!/bin/bash
COLUMN=1 # csv column to extract
RENAME=false # if we should rename the file, note that is was really specific for my problem.
THREADS=16 # threads to use by parallel
#Set Script Name variable
SCRIPT=`basename ${BASH_SOURCE[0]}`
#Set fonts for Help.
NORM=`tput sgr0`
BOLD=`tput bold`
REV=`tput smso`
# Help function
function HELP {
echo -e \\n"Help documentation for ${SCRIPT}."\\n
echo -e "Basic usage: ./$SCRIPT"\\n
echo "Command line switches are optional. The following switches are recognized."
echo "-f csv file = required should be last argument"
echo "-c column, default $COLUMN"
echo "-t threads, default $THREADS"
echo "-r renamd, should be renamed - work in progress here because this is really specific renaming"
echo -e "-h --Displays this help message. No further functions are performed."\\n
echo -e "Example: ./${BOLD}$SCRIPT -rc 2 -f file.csv"\\n
exit 1
}
#Check the number of arguments. If none are passed, print help and exit.
NUMARGS=$#
if [ $NUMARGS -eq 0 ]; then
HELP
exit 1
fi
while getopts ::c::r:h:f FLAG; do
case $FLAG in
t)
THREADS=$OPTARG
;;
c)
COLUMN=$OPTARG
;;
r)
RENAME=true
;;
h) #show help
HELP
;;
\?)
echo -e \\n"Option -${BOLD}$OPTARG${NORM} not allowed."
HELP
;;
esac
done
shift $((OPTIND-1))
FILE=$1
# shift ops, all optional args are now removed $1 will have to be the filename
if [ "$RENAME" = true ]; then
mkdir -p images && cat $FILE | tail -n +2 | cut -d ',' -f$COLUMN | grep http | sed -e 's/^[ \t\r]*//' | \
(cd images; parallel -j$THREADS -d'\r\n' --gnu 'wget {}; mv {/} `echo "{/}" | tr "." "_" | cut -d "_" -f1,3 | tr "_" "."`')
else
mkdir -p images && cat $FILE | tail -n +2 | cut -d ',' -f$COLUMN | grep http | sed -e 's/^[ \t\r]*//' | \
(cd images; parallel -j$THREADS -d'\r\n' --gnu 'wget {};')
fi
Посоветуйте, куда стоит пойти учиться и насколько это рентабельно
--uac-admin Using this option creates a Manifest which will request elevation upon application restart.
--uac-uiaccess Using this option allows an elevated application to work with Remote Desktop.
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='app',
debug=False,
strip=False,
upx=True,
console=False , uac_admin=True)
Очень долго грузится страница, а когда, через ForeginKey выбираю из этого списка записи в select box'е, то страница вообще зависает.
Но даже правильный выбор варианта пагинации не решит всю проблему. Есть select box (html тег) в котором находится ~20k записей, и именно при работе с ним страница перестает отвечать. Это можно как-то оптимизировать?