#python-3.x #py2exe
#python-3.x #py2exe
Вопрос:
Я успешно использовал py2exe для предыдущих проектов на предыдущих машинах сборки, но теперь я все установил с нуля и не могу запустить простейший пример:
setup.py:
from distutils.core import setup
import py2exe
setup(console=['hello.py'])
hello.py:
print("Hello World")
Команда: python3 setup.py py2exe
Вывод:
running py2exe
1 missing Modules
------------------
? _posixshmem imported from multiprocessing.resource_tracker, multiprocessing.shared_memory
Building 'disthello.exe'.
error: [WinError 87] The parameter is incorrect.
desthello.exe генерируется (37 КБ!), Но выдает следующую ошибку при запуске:
Could not locate script resource:The specified resource type cannot be found in the image file.
FATAL ERROR: Could not locate script
Версии, которые я установил, следующие:
python --version
Python 3.8.6
pip freeze
cachetools==4.1.1
future==0.18.2
numpy==1.19.3
opencv-python==4.4.0.46
pefile==2019.4.18
py2exe==0.10.1.0
pyreadline==2.1
pywin32==300
systeminfo
OS Name: Microsoft Windows 10 Pro
OS Version: 10.0.19041 N/A Build 19041
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Workstation
OS Build Type: Multiprocessor Free
Hotfix(s): 6 Hotfix(s) Installed.
[01]: KB4580419
[02]: KB4561600
[03]: KB4577266
[04]: KB4580325
[05]: KB4586864
[06]: KB4586781
Hyper-V Requirements: A hypervisor has been detected. Features required for Hyper-V will not be displayed.
Я знаю, что явно происходит что-то странное (я уже сталкивался с проблемой с «numpy» здесь: https://developercommunity.visualstudio.com/content/problem/1207405/fmod-after-an-update-to-windows-2004-is-causing-a.html ) … но я не совсем понимаю, что это такое.
Спасибо!
— Mac
Ответ №1:
Вы просто неправильно ввели флаг командной строки, должно быть: python setup.py py2exe
.
Отлично работает для меня на Win7, Python 3.8.0:
(py38) λ python setup.py py2exe
running py2exe
2 missing Modules
------------------
? _posixshmem imported from multiprocessing.resource_tracker, multiprocessing.shared_memory
? readline imported from cmd, code, pdb
Building 'disthello.exe'.
Building shared code archive 'distlibrary.zip'.
Copy c:usersf3kenvspy38scriptspython38.dll to dist
...
Copy DLL C:Python38DLLslibffi-7.dll to dist
C:temp
(py38) λ disthello.exe
Hello World
Комментарии:
1. Извинения — это была опечатка при копировании сообщения. Я правильно ввел его в командной строке. Я отредактировал сообщение, чтобы исправить мою опечатку.