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

时间:2015-05-15 00:31:08

标签: python dependencies compatibility

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

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

2 个答案:

答案 0 :(得分:0)

尝试使用pyinstaller打包/捆绑您的应用程序;我们以docker-compose为例,提供了一个跨平台兼容的二进制文件(其中docker-compose是用Python编写的)。

在其最简单的用法中,它很简单:

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

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

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

更新:要提供程序的预构建/捆绑发行版以及可下载的源代码,请按照上述第一部分的建议操作,并按照Python Packaging Guide声明依赖项在setup.pypip installgit clonepython setup.py install可以让其他人轻松完成。

答案 1 :(得分:0)

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

 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.

当您在开源论坛上发布项目时,人们可以将您的requirements.txt文件安装到您创建的环境中。