有两个应用程序有几个共同的模块,如下所示:
/apps
/app1
/.ve
/requirements.txt
/app2
/.ve
/requirements.txt
/modules
/module1
/requirements.txt
/module2
/requirements.txt
/module3
/requirements.txt
/module4
/requirements.txt
module1
和module3
并使用virtualenv module2
和module3
并使用virtualenv module4
application
执行,因此它们没有自己的virtualenv 我如何“正确”连接这个东西?目标是能够使用单个命令在/apps
中为每个应用程序安装整个依赖关系图(如{{1无法自定义脚本)
创意#1 :
pip install -r requirements.txt
添加到PYTHONPATH /modules
语法问题:如果两个requirements.txt文件(https://github.com/pypa/pip/issues/2367)中都有任何要求,PIP将无效。如果app1和module1都依赖于django,我需要能够在相应的要求中明确这一点。
创意#2 :
-r ../modules/module1/requirements.txt
下的每个模块创建一个鸡蛋/轮/包/任何内容,并在每个应用的需求中引用它们.txt 问题:为了使/modules
行为正常而创建鸡蛋需要做很多工作。加上开发会更难 - 每次发生变化时我都要重新安装每个鸡蛋。
答案 0 :(得分:1)
如果您正在开发这些模块,请为它们提供正确的setup.py
并将它们以开发模式安装到两个虚拟环境中,即激活模块,python setup.py develop
模块化应用程序virtualenvs。
如果它们没有冲突,您也可以在同一个virtualenv中安装这两个应用程序。