如何使 python 在所有计算机上兼容?

How to make python compatible on all computers?

我写了一个有趣的脚本,我想与人们分享,但它不会 运行 在其他计算机上,除非它们安装了相同的依赖项。如何将依赖项捆绑到脚本包中,以便其他人不需要将依赖项安装到 运行 脚本中?比如,也许让脚本引用脚本打包所在的同一文件夹中的依赖项。

我想保持开源并共享我的代码,所以我不想使用 cx_freeze 将其转换为 exe。

尝试 packaging/bundling 使用 pyinstaller; This us used for example by docker-compose 来发布跨平台兼容二进制文件(,其中 docker-compose 写在 Python).

最简单的用法是:

pip install pyinstaller  # Get pyinstaller
pyinstaller -F /path/to/myscript.py

您最终会得到一个可以共享的捆绑可执行文件,其中包含所有依赖项。

注意:您可能需要为您想要支持的其他平台/操作系统重复这些步骤(例如:Windows);但我没有这样做的实际经验,所以请参阅 pyinstaller Documentation 了解如何为其他平台捆绑。

更新: 要同时提供程序的 pre-built/bundled 分发版和可下载的源代码,只需遵循上述第一部分的建议并遵循 Python Packaging Guide 用于在 setup.py 中声明依赖关系,使其他人可以轻松地 pip installgit clonepython setup.py install.

我建议你创建一个虚拟环境。

 Step 1:
     >> pip install virtualenv

 Step 2:
     >> cd my_project_folder
     >> virtualenv env
     Note: In this case I named my environment "env" you 
     can call it whatever you want.

 Step 3: Activate your virtual environment
     >> source env/bin/activate

 Step 4: Install whatever libraries your program needs.
       ex. >> pip install Flask

 Step 5: Create a requirements doc.
      >> pip freeze > requirements.txt
      Note: Be sure to update your requirements.txt doc 
      whenever you install new packages.

当你 post 你的项目在开源论坛上时,人们可以 pip 安装你的 requirements.txt 文件,以获得与你创建它时相同的环境。