Tôi đã viết một chương trình Python nhỏ và hầu hết những người sẽ chạy nó sẽ là người dùng Windows. Tôi đã cố gắng sử dụng pyinstaller và py2exe trên 2 thiết bị khác nhau, một với Windows và một với arch-linux.PyInstaller và Python3.6 - Chỉ mục Tuple
tôi cài đặt lại nó nhiều hơn một lần, sử dụng PIP3 cài đặt PyInstaller --no-cache
tôi luôn luôn nhận được lỗi tương tự:
sudo pyinstaller --windowed --onefile test.py
49 INFO: PyInstaller: 3.2
49 INFO: Python: 3.6.0
50 INFO: Platform: Linux-4.8.13-1-ARCH-x86_64-with-arch
51 INFO: wrote /home/XXXXX/test.spec
52 INFO: UPX is not available.
53 INFO: Extending PYTHONPATH with paths
['/home/XXXXX', '/home/XXXXX']
54 INFO: checking Analysis
54 INFO: Building Analysis because out00-Analysis.toc is non existent
54 INFO: Initializing module dependency graph...
57 INFO: Initializing module graph hooks...
58 INFO: Analyzing base_library.zip ...
Traceback (most recent call last):
File "/usr/bin/pyinstaller", line 11, in <module>
load_entry_point('PyInstaller==3.2', 'console_scripts', 'pyinstaller')()
File "/usr/lib/python3.6/site-packages/PyInstaller/__main__.py", line 90, in run
run_build(pyi_config, spec_file, **vars(args))
File "/usr/lib/python3.6/site-packages/PyInstaller/__main__.py", line 46, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "/usr/lib/python3.6/site-packages/PyInstaller/building/build_main.py", line 788, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "/usr/lib/python3.6/site-packages/PyInstaller/building/build_main.py", line 734, in build
exec(text, spec_namespace)
File "<string>", line 16, in <module>
File "/usr/lib/python3.6/site-packages/PyInstaller/building/build_main.py", line 212, in __init__
self.__postinit__()
File "/usr/lib/python3.6/site-packages/PyInstaller/building/datastruct.py", line 178, in __postinit__
self.assemble()
File "/usr/lib/python3.6/site-packages/PyInstaller/building/build_main.py", line 317, in assemble
excludes=self.excludes, user_hook_dirs=self.hookspath)
File "/usr/lib/python3.6/site-packages/PyInstaller/depend/analysis.py", line 560, in initialize_modgraph
graph.import_hook(m)
File "/usr/lib/python3.6/site-packages/PyInstaller/lib/modulegraph/modulegraph.py", line 906, in import_hook
q, tail = self._find_head_package(parent, name, level)
File "/usr/lib/python3.6/site-packages/PyInstaller/lib/modulegraph/modulegraph.py", line 990, in _find_head_package
q = self._safe_import_module(head, qname, parent)
File "/usr/lib/python3.6/site-packages/PyInstaller/depend/analysis.py", line 209, in _safe_import_module
module_basename, module_name, parent_package)
File "/usr/lib/python3.6/site-packages/PyInstaller/lib/modulegraph/modulegraph.py", line 1211, in _safe_import_module
module_name, file_handle, pathname, metadata)
File "/usr/lib/python3.6/site-packages/PyInstaller/lib/modulegraph/modulegraph.py", line 1295, in _load_module
self._scan_code(m, co, co_ast)
File "/usr/lib/python3.6/site-packages/PyInstaller/lib/modulegraph/modulegraph.py", line 1460, in _scan_code
self._scan_bytecode_stores(co, m)
File "/usr/lib/python3.6/site-packages/PyInstaller/lib/modulegraph/modulegraph.py", line 1505, in _scan_bytecode_stores
name = co.co_names[oparg]
IndexError: tuple index out of range
Vì vậy, trong trường hợp đó, tôi chỉ sử dụng một testscript có chứa:
#!/usr/bin/env python3.6
print("hello world")
để đảm bảo không có vấn đề với hàng nhập và cứ tiếp tục như vậy.
Có vẻ như "Python 3.6 chưa được hỗ trợ". https://github.com/pyinstaller/pyinstaller/issues/2286 – davedwards
Vâng, cảm ơn câu trả lời nhanh. Đáng buồn thay, trên máy tính Windows của tôi nó không tạo ra một quá trình khi tôi gõ pyinstaller.exe vào cmd. Tôi sẽ cố gắng để có được điều này cố định, có vẻ là một giải pháp ở đây: https://stackoverflow.com/questions/31808180/installing-pyinstaller-via-pip-leads-to-failed-to-create-process – Simulacrum