如果在同一个virtualenv
的几个软件包上运行python setup.py develop
,则可以在进行更改后无需重新安装即可开发它们。如何自动安装本地“开发模式”软件包?
我最近从我的项目中提取功能到一个单独的包,我现在正在以这种方式开发。
有没有办法在我的setup.py
文件中表达这种依赖关系,所以新开发人员只需在主项目的目录中运行一次python setup.py develop
?
如果在同一个virtualenv
的几个软件包上运行python setup.py develop
,则可以在进行更改后无需重新安装即可开发它们。如何自动安装本地“开发模式”软件包?
我最近从我的项目中提取功能到一个单独的包,我现在正在以这种方式开发。
有没有办法在我的setup.py
文件中表达这种依赖关系,所以新开发人员只需在主项目的目录中运行一次python setup.py develop
?
我相信并担心你的问题的答案只是“不”。
setup.py不符合您的需求。尽管如此,寻找技巧可能会对新开发人员带来更多问题。如卢卡斯·格拉夫在评论中描述
可悲的是我不能提供完美的替代品。
记住显式优于隐式是python禅的一部分。 我会去最后一个,但YMMV。
尤尔根,你在赏金期间发布了你的答案吗?如果是这样的话,我不介意重新做这件事,去找你的50名代表。你应得的。 ;-) –
我在截止日期前大约3小时发布了信息,等待有更好的信息出现。 –
这个mod允许使用python setup.py develop
它允许使用本地开发文件安装development mode。从django-tastypie打了折扣。
我不知道你打算如何做这件事。 'python setup.py develop'取决于找到'setup.py'所在的目录。用户Alice是不是将A包装在一个目录中,而用户Bob将A包装在另一个目录中?或者所有的目录都是相对于彼此设置的? –
@MarkHildreth - 它们都是源代码管理中相同文件夹层次结构的一部分,因此您可以可靠地指望'project_A /../project_B/setup.py'中的'project_B/setup.py'。不过,您提出了一个很好的观点,那就是setup.py可能并不是这里工作的正确工具。 –
如果你有一个你想要建立的软件包列表,你需要的只是一个简短的类似makefile的脚本,该脚本用于cd到每个项目并在那里运行'python setup.py develop [user options]'。要做到这一点,不应该很难将主控制器“setup.py”放在一起。 – alexis