我们正在尝试安装几个自己编写的python3应用程序,这些应用程序共享一些具有冲突版本的库。
我们目前正在讨论在PYTHONPATH和/或pythons virtualenv中使用包的顺序。
你会如何处理?
答案 0 :(得分:0)
对于依赖项隔离和管理,每个应用程序总是有一个virtualenv。这可以防止应用程序间依赖性冲突的问题,并且如果应用程序的依赖性中存在依赖性冲突,则解决它们的任何hackery都仅限于受影响的环境。
此外,可以根据应用程序独立执行依赖项升级。
答案 1 :(得分:0)
您可以使用the source。
pipsi将完成为每个应用程序设置单独的虚拟环境的所有工作,从而使所有应用程序的依存关系保持独立。
如果您自己使用virtualenv,则必须切换环境以运行其他应用程序。 pipsi为您处理环境,因此您完全不必弄混virtualenvs。
从文档中
如果您正在全局安装Python软件包以进行cli访问,则您 几乎肯定要使用
pipsi
而不是运行sudo pip ....
,所以 你得到
- 隔离的依赖项以确保没有版本冲突
- 无需使用sudo即可全局安装软件包的能力
- 在不影响软件包的情况下卸载软件包及其依赖项的能力 其他全局安装的Python程序