我写了一篇有趣的脚本,我希望与人分享,但除非安装了相同的依赖项,否则它不会在其他计算机上运行。如何将依赖项捆绑到脚本包中,以便其他人不需要安装依赖项来运行脚本?比如,也许让脚本在脚本打包的同一文件夹中引用依赖项。
我想保持开源并共享我的代码,所以我不想使用cx_freeze将其转换为exe。
答案 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.py
中pip install
或git clone
和python 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文件安装到您创建的环境中。