Не могу скомпилировать Python, используя Nuitka
Я пытаюсь скомпилировать файл Python, который использует urllib.request, BeautifulSoup и веб-браузер.
$ nuitka python.py
Nuitka:WARNING:python.py:16: Cannot find 'urllib.request' as relative or absolute import.
Nuitka:WARNING:python.py:17: Cannot find 'bs4' as relative or absolute import.
$ ./python.exe
Traceback (most recent call last):
File "python.py", line 16, in <module>
from urllib.request import urlopen
ImportError: No module named request
5 ответов
Попробуй добавить --recurse-to=urllib
в командной строке во время выполнения Nuitka. Смотрите Nuitka справку для деталей.
Я получил несколько похожих сообщений об ошибках. Вы устанавливали как Python2, так и Python3? Это решило проблему для меня.
(Установка обеих версий является необходимой, как упомянуто здесь: http://nuitka.net/doc/user-manual.html, раздел "Python3, да, но зависимость от времени компиляции Python2")
В вашей системе установлены как python2, так и python3, проверьте версию python, используя
$python --version
urllib.request будет отсутствовать только в том случае, если nuitka использует python2 для компиляции вашего кода python3. в python2.7 нет urllib.request
то же самое с бс4..
где-то в вашей системе скрывается python2, и nuitka использует его для компиляции вашего кода python3.
чтобы убедиться, что используется python3
$/path to python3/python -m nuitka program.py
или где python 3.7 имеет псевдоним python3
$python3 -m nuitka program.py
Вы можете использовать другой компилятор, такой как pycharm или VScode, для компиляции кода Python.
Вы можете использовать Nuitka для компиляции программ Python в автономные исполняемые файлы, а затем распространять их без среды выполнения Python.