Задать вопрос
Профиль пользователя заблокирован сроком с 1 апреля 2025 г. и навсегда по причине: подозрительная активность
  • Можно ли импортировать библиотеку в python3 из переменной?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Можно через importlib
    In [1]: import importlib
    
    In [2]: requests.__version__
    ---------------------------------------------------------------------------
    NameError                                 Traceback (most recent call last)
    <ipython-input-2-37d800a179a9> in <module>
    ----> 1 requests.__version__
    
    NameError: name 'requests' is not defined
    
    In [3]: requests = importlib.import_module('requests')
    
    In [4]: requests.__version__
    Out[4]: '2.22.0'
    Ответ написан
    Комментировать
  • Как установить модуль aiogram на synology?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Хочу подтвердить и немного дополнить ответ Алан Гибизов - не стоит пытаться собрать в synology ничего серьезного. Если чего-то нет в Entware/Optware - лучше забыть-понять-простить, чем пытаться сгородить потемкинскую деревню.
    Дело в том, что synology можно назвать линухом только по утиной типизации - в нем ядро линукс, в нем /etc и /bin - значит - это линукс.

    Нихренашеньки.

    Это нечто, похожее на линкус. Да, в него ставятся пакеты entware/optware. Да, в нем можно собрать несложный пакет типа nrpe или nagios-plugins. Но попробуйте-ка собрать в нем нечто глобальное - типа самбы - 9 из 10, что дело кончится принудительным форматированием винтов в другом компе и переустановкой DSM.

    Почему?

    Потому что synology не предназначена для задач, которые не решаются пакетами, устанавливаемыми через DSM. Установить питон например, нормальный питон, а не то жуткое уIOBище, что стоит по умолчанию, получилось только с третьего захода и то с помощью "пилы, топора и какой-то матери".

    Все установленные пакеты от synology тут поизрезаны по самое не хочу. Это относится и к sssd, и к samba и еще Бог знает к чему (что я не проверял). То, что в линухе решается с пол-пинка, например доменная аутентификация по группам в FTP-сервере - здесь выливается в нечто слоноподобное, которое просто роняет систему...

    Synology - это полка. Просто полка для хранения данных. Не надо тянуть ее на глобус :)
    Ответ написан
    2 комментария
  • Как в витртуальную среду Python установить необходимые библиотеки Qt5?

    RetroKettle
    @RetroKettle
    Старый чайник
    Ни как. Ваше приложение не потяжелело на 200мб, у вашего приложение зависимости на 200мб.

    Не нужно таскать эти зависимости с собой, это не нормально.
    Указываете их в requirements.txt или setup.cfg. Конечный пользователь должен использовать pip install -r requirements.txt
    или при setup.cfg что-то типа pip install .
    Все зависимости соответственно будут скачаны... Это нормальная практика.

    Если вы хотите получить реально монолитное приложение (один файл), то размер будет приличный все равно ~50Мб. Но в этом случаи нужно проделать много работы.

    Вот пример на базе AppImage+PyQt5: https://github.com/spesmilo/electrum/tree/master/c...
    Они самостоятельно удаляют из сборки ненужные файлы.
    Ответ написан
    Комментировать
  • Как в витртуальную среду Python установить необходимые библиотеки Qt5?

    тут отвечал
    Ответ написан
    Комментировать
  • Как построить модель полиномиальной регрессии с несколькими независимыми переменными, используя Python?

    @dmshar
    Вариантов много.
    sklearn.preprocessing.PolynomialFeatures - это раз.
    Можно вручную преобразовать многомерную полиноминальную модель в многомерную линейную, а потом запустить
    sklearn.LinearRegression()
    Можно использовать более универсальный вариант
    scipy.optimize.curve_fit () , а поскольку регрессия - это по сути задача минимизации, то тут можно подгонять любую функцию. Более того, в scipy.optimize есть множество разных методов численной оптимизации, которые можно использовать для получения регрессионной модели в том числе.

    В ТensorFlow можно использовать
    GradientDescentOptimizer

    Но рекомендую сначала разобраться с задачей и терминологией. Ваша фраза
    "50 зависимых переменных " - поначалу ввергла меня в ступор.
    Ответ написан
    Комментировать
  • При использовании range( ), через N-ное количество циклов падает скорость?

    Vindicar
    @Vindicar
    RTFM!
    reversed(range(250))
    Зачем? Чем не устроил range(249, -1, -1)?

    Далее, ты и в up() и в down() в цикле создаёшь раз за разом один и тот же объект, а потом забываешь про него. Зачем устраивать разминку для сборщика мусора? Создай объект 1 раз и модифицируй его - либо в глобальной переменной, либо (лучше) в классе.
    Ответ написан
    Комментировать
  • При использовании range( ), через N-ное количество циклов падает скорость?

    @o5a
    Потому что в целом подход неправильный. Вы каждый цикл создаете новый объект и просто его отрисовываете поверх других, сдвигая каждый раз на новую величину.
    Вместо этого нужно 1 раз создать свой Circle и его уже потом двигать (и двигать соответственно не на i, а на одинаковое фиксированное значение (если ожидается равномерное движение).
    И наверное в цикл стоит добавить задержку в виде time.sleep(0.01)
    obj = Circle(Point(150, 20), 15)
    obj.setWidth(1)
    obj.draw(win)
    
    def down():
        for i in range(250):
            print (i)
    
            obj.setFill("yellow")
            obj.move(0, 1)
            time.sleep(0.01)
    Ответ написан
    Комментировать
  • Как проверять аргументы функции/метода?

    @MEDIOFF
    Python Developer
    Переписывайте функцию что бы она и None нормально отрабатывала. Так же, как по мне, если вы у вас функция может не принимать аргументы вовсе - то логичней это упаковать все в:
    def foo(*args, **kwargs):
        ...

    И возможно как раз с такой логикой вам легче будет все это устроить
    А вообще все сильно зависит от того что вы делаете внутри функции, я вам сказал лишь свои рекомендации не опираясь на требования, а это может внести коррективы
    Ответ написан
    6 комментариев
  • Как проверять аргументы функции/метода?

    Vindicar
    @Vindicar
    RTFM!
    Если аргумент None, означает ли это, что должно использоваться некоторое значение по умолчанию? Если да, то можно вынести if по этому аргументу отдельно, а дальше вести себя так, словно аргумент задан.

    Если же нет, то стоит спросить себя - а не слишком ли много эта функция на себя берёт? Не стоит ли её разделить на несколько?
    Ответ написан
    Комментировать
  • Почему иногда возникает ошибка Temporary failure in name resolution?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Рекомендую установить какой-нибудь простецкий локальный DNS-сервер, умеющий в кэширование, хотя бы тот же systemd-resolve. Тогда вероятность того, что резолв отвалится с ошибкой, существенно уменьшится.
    Ответ написан
    Комментировать
  • Почему пишет что в telebot нету атрибута message_handler?

    deepblack
    @deepblack Куратор тега Python
    Ты определись что у тебя установлено из библиотек:

    https://pypi.org/project/telebot/
    https://pypi.org/project/pyTelegramBotAPI/

    Судя по ошибке должен быть pyTelegramBotAPI, а установлен telebot.
    Сначала удали telebot и поставь pyTelegramBotAPI.
    Ответ написан
    Комментировать
  • Незнаю где ошибка? Из за неё не отправляется Embed?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Ошибка в каждой строчке, читайте, что в консоли вам пишет.
    1. Два одинаковых алиаса
    2. "Красивое" оформление кода лесенкой
    3. .message.author.mention ?
    4. Неправильный порядок аргументов
    Ответ написан
    3 комментария
  • Как делать импорт данных в ipynb?

    bucksbunny
    @bucksbunny Автор вопроса
    Гуру бытия, философ, прокрастинатор, авантюрист
    Решение проблемы:
    import import_ipynb
    import functions
    from functions import compute_surface
    testing = compute_surface(5)
    print (testing)
    #рабочий способ


    ещё пробовал вот такой способ:
    from ipynb.fs.full.functions import compute_surface


    и вот такой:
    import nbimporter
    from functions import compute_surface
    testing = compute_surface(5)
    print (testing)
    #рабочий способ
    Ответ написан
    Комментировать
  • Как преобразовать длинный float в строку?

    Vindicar
    @Vindicar
    RTFM!
    print(f'Число: {res:.6f}')
    Выведет тебе число с 6 знаками после запятой.
    Ответ написан
    Комментировать
  • Как улучшить производительность бота?

    DollyPapper
    @DollyPapper
    Во первых никто не пойдет в дискорд смотреть ваш код. Почитайте про правила задавания вопросов в интернете. Вы как минимум должны предоставить всю имеющуюся информацию сразу в вопросе, для того чтобы отвечающие могли дать ответ, а не тратить время на переход в какие-то дискорд чаты. Тем самым вы поможете и себе, потому что потенциальный человек который может дать вам ответ просто может не захотеть устанавливать дискорд.

    Что касается вашего вопроса:
    1) Самое банальное - увеличить мощность того железа где запускается бот.
    2) Использовать профайлер для определения места в коде, где происходит самый долгий момент вычислений. Можно использовать например это
    Сделайте профайлинг, посморите какая функция выполняется дольше всех (а может не функция, а сетевой запрос?) и с этим вопросом уже приходите опять, если сами не поймете почему данная функция выполняется так долго. И ради бога, не просите никого заходить к вам в дискорд.
    Ответ написан
    Комментировать
  • Как получить название трека из статуса ВК?

    WolfInChains
    @WolfInChains
    И название и автор
    audio = status["text"]

    Название и автор отдельно
    artist = status["audio"]["artist"]
    title = status["audio"]["title"]
    Ответ написан
    1 комментарий
  • Не пойму из-за чего ошибка?

    SoreMix
    @SoreMix Куратор тега Python
    yellow
    Невалидный json значит, если режим r ничего не поменял.
    Что показывает https://jsonformatter.curiousconcept.com/ ?
    Ответ написан
    4 комментария
  • Как лучше делать return?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Ну во-первых - у вас немного разная логика функций.
    Первая процедура вылетит с ошибкой если передать значение не равное 123 или abc.
    result-то вы не проинициализировали...
    Вторая - отработает успешно, просто ничего не вернет.
    Если они будут задействованы в критической логике программы, - то у вас программа просто в ошибку свалится в первом случае. Во втором случае - не свалится, если возврат значения None предусмотрено дальнейшей программой (только не спутать ее с False)

    Во вторых - первая функция компилируется в байткод из 28 команд, а вторая - в 26. Лишнее присваивание дает лишние шаги программы. В одном месте - как минимум - 2 лишних бесполезных байт-кода, в другом, в третьем... И потом этот ничего не делающий байт-код просто греет процессор, внося свою толику в дело глобального потепления и ухудшения экологии на планете в целом... Так что лишний раз подумайте - есть ли особая в этом необходимость...

    Ну и в третьих - эти процедуры можно заменить более эффективными. Впрочем, - коллеги уже подсказали какими.
    Ответ написан
    Комментировать
  • Heroku сайт постоянно теряет логин?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Heroku
    Седой и строгий
    Это уже просто невыносимо! По нескольку раз в день один и тот же вопрос! Год за годом! Читайте документацию, лентяи, или хотя бы поиском пользуйтесь.
    Ответ написан
    1 комментарий