use*_*214 5 python pyinstaller
我试图pyinstaller在cmd中使用,但收到错误消息:
C:\Users\username>pyinstaller
'pyinstaller' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\username>
Run Code Online (Sandbox Code Playgroud)
当我在python 的Scripts文件夹中使用此命令时,它可以正常工作:
C:\Users\username\AppData\Local\Programs\Python\Python36-32\Scripts>pyinstaller
usage: pyinstaller [-h] [-v] [-D] [-F] [--specpath DIR] [-n NAME]
[--add-data <SRC;DEST or SRC:DEST>]
[--add-binary <SRC;DEST or SRC:DEST>] [-p DIR]
[--hidden-import MODULENAME]
[--additional-hooks-dir HOOKSPATH]
[--runtime-hook RUNTIME_HOOKS] [--exclude-module EXCLUDES]
[--key KEY] [-d] [-s] [--noupx] [-c] [-w]
[-i <FILE.ico or FILE.exe,ID or FILE.icns>]
[--version-file FILE] [-m <FILE or XML>] [-r RESOURCE]
[--uac-admin] [--uac-uiaccess] [--win-private-assemblies]
[--win-no-prefer-redirects]
[--osx-bundle-identifier BUNDLE_IDENTIFIER]
[--distpath DIR] [--workpath WORKPATH] [-y]
[--upx-dir UPX_DIR] [-a] [--clean] [--log-level LEVEL]
[--upx UPX]
scriptname [scriptname ...]
pyinstaller: error: the following arguments are required: scriptname
C:\Users\username\AppData\Local\Programs\Python\Python36-32\Scripts>
Run Code Online (Sandbox Code Playgroud)
如何解决呢?
PJ3*_*PJ3 48
我确实正确配置了我的脚本路径,我必须运行python -m PyInstaller script.py才能使其工作
对于每个脚本我都必须遵循这个模式,python -m [script name] [args]
蟒蛇版本3.10.0
小智 10
首先,您需要知道 pyinstaller 位于哪里。就我而言,我跑了
pip uninstall pyinstaller
Run Code Online (Sandbox Code Playgroud)
在卸载之前,它会要求您确认是否要删除以下文件...
c:\users\USERNAME\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\scripts\pyinstaller.exe
Run Code Online (Sandbox Code Playgroud)
伟大的!现在通过这样做,您就知道了 pyinstaller 的路径。只需输入“否”并退出卸载,因为我们的目的只是获取路径。现在只需将此路径添加到 PATH 变量即可。
c:\users\USERNAME\appdata\local\packages\pythonsoftwarefoundation.python.3.9_qbz5n2kfra8p0\localcache\local-packages\python39\scripts\
Run Code Online (Sandbox Code Playgroud)
了解如何更改 PATH 变量。检查这里
对于 Python 3.7,您必须将 AppData/Roaming (%appdata%) 中的 Scripts 文件夹添加到 PATH 变量。
C:\Users\%USERNAME%\AppData\Roaming\Python\Python37\Scripts
小智 7
如果您使用的是 python 3.10 或更高版本,则 pyinstaller 可能不会添加到您的 Path 变量中。要避免所有这些设置,您只需运行
python -m PyInstaller [path to your file] [args]
Run Code Online (Sandbox Code Playgroud)
例如我跑了
python -m PyInstaller ./frontend.py --onefile
Run Code Online (Sandbox Code Playgroud)
该解决方案适用于 Python 3.9
首先找到pyinstaller.exe位置。为此,您可以尝试以下技巧:(不要按“y”,只需查看上面的内容,复制您要查找的路径)
pip uninstall pyinstaller
Run Code Online (Sandbox Code Playgroud)
在输入任何内容之前,它会显示 pyinstaller.exe 所在的路径。之后复制位置并在终端上运行此命令:(这是一个示例)
python C:\Users\[YOUR_USER_NAME]\AppData\...Scripts\pyinstaller.exe --onefile [your_script_name.py]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13209 次 |
| 最近记录: |