#python-3.x #pyinstaller #youtube-dl
#python-3.x #pyinstaller #youtube-dl
Вопрос:
Итак, я недавно внедрил youtube_dl в свой проект python 3, который все работает очень хорошо. Проблема возникает, когда я компилирую это в exe-файл, используя: c:/python332/scripts/pyinstaller myprogram.py Он компилируется нормально, но при запуске exe я получаю ошибку, похожую на эту: ошибка времени выполнения!
Программа: C:python332python.exe
R6034 Приложение предприняло попытку неправильно загрузить библиотеку времени выполнения C. Пожалуйста, свяжитесь со службой поддержки приложения для получения дополнительной информации.
Эта конкретная ошибка возникает, если я захожу в каталог в командной строке, ввожу py -3, а затем пытаюсь импортировать youtube_dl. Интересно, что если я перейду в другой каталог, а затем запущу py -3 и импортирую youtube_dl, он отлично работает (если время загрузки немного медленное).
В качестве дополнительной информации, по какой-то причине pyinstaller включает оба python27.dll и python37.dll , когда я бы подумал, что это будет только хотеть python37.dll ? Заглянув в папку dist программы, я вижу, что msvcr90.dll присутствует.
Мне интересно, это какое-то столкновение компиляции, когда pyinstaller смешивает python 2 и python 3 вместе? Есть ли известное исправление для этого?
Спасибо.
Комментарии:
1. если вы упаковываете его в .exe, почему вы запускаете
py -3
?2. Кроме того, какая именно версия python — python332? 32-разрядная установка python3?
3. Извините, я виноват, да, python332 ссылается на 32-разрядную версию python 3.7.4. Также ошибка возникает даже при запуске самого exe-файла, но причина, по которой я упомянул, что если я запускаю py -3, а затем импортирую youtube_dl, вот где также возникает ошибка
4. Не могли бы вы попробовать перестроить exe из чистого venv? Это может быть несколько пакетов, которые каким-то образом связаны с pyinstaller, в конце концов, youtube_dl не может быть виновником, поскольку это чистый python.
5. @MegaIng Я не совсем понимаю. Я просто запускаю python в Windows/ Возможно, я здесь ошибаюсь, извините