我在 Python 方面没有太多经验。我能够编写简单但有用的脚本。我能够使用 pyinstaller 将它们转换为 .exe。但是我写的程序越多,我拥有的 python 版本就越多(以及包和虚拟环境)。一开始的工作突然停止工作,让我很困惑。但是从一页跳到另一页我想通了。我的帖子是为了帮助另一个新手。我使用的是 Windows,但某些规则可能与其他系统相同。
我是在 2020 年 3 月写的。Pyinstaller 不能在最新的 python 版本(现在是 3.8)上正常工作。所以首先你需要安装 Python 3.7。其次,根据您的系统类型选择版本。它可以是 32 或 64。
您可以安装多个 Python 版本。在命令行中,当您键入“py”时,您的计算机将查找最新的 Python 版本——我的意思是版本号最高的那个。这是因为安装第一个 Python 时出现的文件 C:\Windows\py.exe。如果今天您只安装了 python 3.7,“py”将运行 Python 3.7。但是第二天,当您安装 Python 3.8 并键入“py”时,它将运行 Python 3.8。如果您想使用旧版本,只需键入 py -3.7
C:\Users\Ania>py
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 位 (AM
D64)] 在 win32 上
输入“help”、“copyright”、“credits”或“license”了解更多信息。
C:\Users\Ania>py -3.7
Python 3.7.7(标签/v3.7.7:d7c567b08f,2020 年 3 月 10 日,10:41:24)[MSC v.1900 64 位
(AMD64)] 在 win32 上
输入“help”、“copyright”、“credits”或“license”了解更多信息。
现在要使用您的项目,您需要为其创建一个虚拟环境。请记住使用正确的 python 版本。首先让我们为它创建一个文件夹。
D:\PYTHON>mkdir my_new_great_project
转到那个文件夹:
D:\PYTHON>cd my_new_great_project
创建 venv:
D:\PYTHON\my_new_great_project>py -3.7 -m venv venv
上面的第一个“venv”是我们正在使用的python模块的名称。第二个“venv”是我们正在创建的虚拟环境的名称。
激活venv:
D:\PYTHON\my_new_great_project>venv\Scripts\activate.bat
你应该看到:
(venv) D:\PYTHON\my_new_great_project>
现在您可以使用 pip 安装项目所需的任何外部包。
(venv) D:\PYTHON\my_new_great_project>pip install pandas
Pip“知道”你需要 python 3.7 的包。
创建项目文件时,不要将它们放在“venv”文件夹中。
要从 venv 运行您的项目,只需输入其名称
(venv) D:\PYTHON\my_new_great_project>great_project.py
如果你完成了你的项目,一切正常,你需要 .exe 文件,是时候在你的 venv 中安装 pyinstaller 了。
(venv) D:\PYTHON\my_new_great_project>pip install pyinstaller
要检查你已经安装了哪些外部包,只需输入“pip list”:
(venv) D:\PYTHON\my_new_great_project>pip list
包版本
altgraph 0.17
未来 0.18.2
numpy 1.18.2
熊猫 1.0.3
pefile 2019.4.18
点 19.2.3
PyInstaller 3.6
python-dateutil 2.8.1
皮茨2019.3
pywin32-ctypes 0.2.0
安装工具 41.2.0
6 1.14.0
现在你可以从 venv 运行 pyinstaller 来制作一个 .exe 文件:
(venv) D:\PYTHON\my_new_great_project>pyinstaller --onefile --name my_project great_project.py
现在您的项目可以在名为“dist”的文件夹中以单个 .exe 文件的形式使用。
我希望它对某人有所帮助。