打包
用命令行运行一个源文件夹
ICS 课程PJ,我第一次用 python 完成一个工程项目,在同一个文件夹下有很多个 .py
文件,那么怎样才能够将这些文件打成一个包,就像 Java
中的 .jar
一样呢?
我的需求是,打成一个包,包里的那些文件都是一个黑盒子,只有在有 python3
interpreter 的环境下就能够运行这个包;我搜过一些资料,这些资料提供的无外乎 pyinstaller
这些工具,这里我提供一种比较简洁的方法。
假设 .py
文件都在 project
文件夹目录下:
|- project
|- src1.py
|- src2.py
|- src3.py
...
|- __main__.py
这时只需要在这个包里添加一个名为 __main__.py
的文件,其中包含 “main” 函数,然后在这个文件夹的外面:
|- file
|- project
...
在 terminal 里,运行:
python3 project
就好。(其实一个装有多个 .py
源文件的文件夹本身就是一个包)
生成一个可执行文件
使用 PyInstaller。
首先,安装 PyInstaller。在命令行里输入:
pip install PyInstaller
或者
pip3 install PyInstaller
安装完成后,将 terminal 的路径改在当前需要打包的工程目录,然后在 terminal 里输入:
PyInstaller -F [-w] __main__.py
其中,__main__.py
就是整个工程的主文件。之后在当前目录下会生成两个文件夹:build
和 dist
,打开 dist
就能够看到可执行文件。
这种方法适用于多种操作系统,目前我已经尝试过 MacOS
, Win10
, ubuntu
和 CentOS
。