Как сделать скрипт Python, разработанный в Spyder IDE, исполняемым - PullRequest
0 голосов
/ 16 июня 2020

Я написал сценарий в Spyder IDE, но для того, чтобы клиенты могли его использовать, я хотел бы упростить его запуск, а затем открыть Anaconda, а затем Spyder и запустить его оттуда.

Причина Я использовал Spyder, потому что он позволял мне использовать многие модули, которые в противном случае нельзя было бы использовать на станциях компании.

Я много исследовал, но не мог найти способ сделать это.

Я думал обернуть скрипт в пакетный файл и запустить его. Я попытался обновить сценарий python для поиска модулей в каталогах Anaconda по умолчанию:

sys.path.insert(1, C:\\ProgramData\\Anaconda3\\python37.zip)
sys.path.insert(1, C:\\ProgramData\\Anaconda3\\DLLs)
sys.path.insert(1, C:\\ProgramData\\Anaconda3\\lib)
sys.path.insert(1, C:\\ProgramData\\Anaconda3)
sys.path.insert(1, C:\\ProgramData\\Anaconda3\\lib\\site-packages)
sys.path.insert(1, C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32)
sys.path.insert(1, C:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32\\lib)
sys.path.insert(1, C:\\ProgramData\\Anaconda3\\lib\\site-packages\\Pythonwin)
sys.path.insert(1, C:\\ProgramData\\Anaconda3\\lib\\site-packages\\IPython\\extensions)

При запуске сценария в Windows cmd я получил эти ошибки при импорте модуля pandas, так что там это больше для использования Spyder, а не просто доступа к этим модулям (я не мог понять, что именно):

Traceback (most recent call last):
  File "script.py", line 32, in <module>
    import pandas as pd
  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\__init__.py", line 13, in <module>
    __import__(dependency)
  File "C:\ProgramData\Anaconda3\lib\site-packages\numpy\__init__.py", line 110, in <module>
    import warnings
  File "C:\ProgramData\Anaconda3\lib\warnings.py", line 494
    f"coroutine '{coro.__qualname__}' was never awaited\n"

Другой подход, который я пробовал, заключался в использовании pyinstaller , но он недоступен для нас и я не могу установить его с веб-сайта.

Есть ли способ запустить сценарий python и использовать все модули, предлагаемые Anaconda, без использования Spyder?

Ответы [ 2 ]

0 голосов
/ 16 июня 2020

Также попробуйте pyinstaller . Он предоставит вам как исполняемый файл, так и настройки для него, такие как значок или отсутствие консоли. сначала go в каталог, где находится ваш .py файл, и выполните следующую команду:

pyinstaller script.py --onefile

Перед этим вам необходимо установить этот python модуль:

python* -m pip install pyinstaller

Где * - это ваша конкретная c python версия, если у вас установлено несколько версий. Первая команда предоставит вам папку dist, здесь находится ваш исполняемый файл. а файл script.spec - ваши настройки.

0 голосов
/ 16 июня 2020

Вы пробовали py2exe ? Это отличный инструмент, который делает именно то, о чем вы просите.

Также изучите cython . Намного проще сгенерировать исполняемый файл из кода C, и вы также получите прирост производительности.

...