#python #anaconda #conda
#python #anaconda #conda
Вопрос:
Раньше у меня был ноутбук, который выполнял всю мою работу — i7 3537u — но батарея внезапно разрядилась и не может работать от сети переменного тока более нескольких минут.
Чтобы иметь возможность работать, я установил Ubuntu — ту же версию 18.04 — на свой рабочий стол — Ryzen 2600x — и установил Anaconda3 и ту же библиотеку, которую я использовал (для полноты, называемую GraviPy)
Дело в том, что я ожидал, что скрипт будет выполняться в то же или лучшее время (то же самое, поскольку я слышал, что Python более оптимизирован для Intel), но, наоборот, первая «часть» скрипта выполняется примерно в 4 раза быстрее, чем в ноутбуке, А во второй части появляется ошибка при выполнении некоторыхпростые числовые вещи (что-то о плавающих значках, но это БУКВАЛЬНО тот же сценарий).
Я попробовал это на 2 разных машинах, ОБЕ немного хуже, чем мой рабочий стол.
На одном он работал полностью и НАМНОГО быстрее, чем на рабочем столе (измеряя только рабочую часть), а на втором это заняло слишком много времени, выдавая ту же ошибку во второй части.
Итак, вопрос в том, есть ли способ скопировать среду Python для запуска этого скрипта? (Ноутбук все еще работает в течение часа или около того, а затем выключается)
Я пытался проверить conda list
, но длина была безумной как на рабочем столе, так и в среде. (Я видел, что на ноутбуке была предыдущая версия Anaconda)
PS: сообщение об ошибке:
TypeError: can't convert expression to float
...
...
error: Result from function call is not a proper array of floats.
Комментарии:
1. Было бы очень полезно узнать, что такое сообщение об ошибке. Недавно мы столкнулись со случаями, которые вызывали проблемы с числовыми данными, потому что некоторые процессоры Ryzen FPU в некоторых случаях реализуют немного другую обработку, которая по-прежнему совместима с sandard.
2. Ошибка такая же на рабочем столе i7-8700, который также работает примерно в 3 раза медленнее по сравнению с i7 3537u. (Ошибка, о которой идет речь)
3. Используете ли вы импорт подстановочных знаков в своем скрипте?
4. Я знаю, к чему это приведет, но да, я использую * . Хотя имейте в виду, что один и тот же скрипт работает на разных компьютерах, и run_time также является проблемой. Но да, я использую
5. Я считаю, что один из способов клонирования enviromnet, как вы хотите, — это использование venvs: docs.python.org/3/library/venv.html Если вы можете заставить скрипт работать в venv, у вас есть довольно хорошие шансы, что он также будет работать с той же настройкой на другой машине.