Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为Python命令行应用程序控制库版本和sys.path的最佳方法_Python - Fatal编程技术网

为Python命令行应用程序控制库版本和sys.path的最佳方法

为Python命令行应用程序控制库版本和sys.path的最佳方法,python,Python,我想构建一个可分发的、自包含的Python命令行应用程序,并使用锁定的库版本。在Ruby中,我可以通过以下方式控制命令行应用程序的库: 包括一个文件 在克隆我的应用程序存储库后让用户运行捆绑安装 在命令行入口点脚本的顶部插入几行bundler样板文件,该脚本将Ruby的$LOAD\u PATH配置为仅包含GEM文件中指定的GEM Python的等效过程是什么?我知道virtualenv,我是否需要让用户创建虚拟环境并记住激活它?这似乎太难了。这在很大程度上取决于观众 对于开发人员来说,一个好

我想构建一个可分发的、自包含的Python命令行应用程序,并使用锁定的库版本。在Ruby中,我可以通过以下方式控制命令行应用程序的库:

  • 包括一个文件
  • 在克隆我的应用程序存储库后让用户运行捆绑安装
  • 在命令行入口点脚本的顶部插入几行bundler样板文件,该脚本将Ruby的
    $LOAD\u PATH
    配置为仅包含GEM文件中指定的GEM

Python的等效过程是什么?我知道
virtualenv
,我是否需要让用户创建虚拟环境并记住激活它?这似乎太难了。

这在很大程度上取决于观众

对于开发人员来说,一个好主意确实是非常有用的 -Include requirements.txt -pip安装-r requirements.txt

对于最终用户,我推荐以下选项之一:


从另一个StackOverflow中,可能也会有所帮助。

谢谢,这不是在全球范围内安装了需求吗?这涵盖了前两部分,但是如何在运行时设置
sys.path
,精确指向requirements.txt中指定的每个库的版本呢?感谢上面更新的注释。带pbundler和cxFreeze。