我有一个virtualenv服务于几个单独的项目。我想写一个每个项目都可以使用的实用程序库。坚持使用virtualenv似乎是有道理的。一定要把我击倒,但如果你这样做,请给我一个替代方案。
假设我不是完全疯了,哪里有最适合我图书馆的地方?
我的virtualenv将pip
中安装的所有内容都放在lib/pyton2.7/site-packages
中。我想知道在一个单独的家里(或者在目录树中)进行黑客攻击是否更有意义,所以如果事情发生冲突,我的工作不会被pip
(等人)覆盖
答案 0 :(得分:2)
如果您的项目遵循setuptools
的标准打包实践,那么您所要做的就是在您希望库用于的virtualenvs中运行python setup.py develop
。将创建一个.egg-link
文件,指向您的包,您的其他库将像其他任何包一样使用,并且还有一个额外的好处,即您的最新更改将同时可用于所有包(如果这是您的意图)。如果没有,那么您可以调用python setup.py install
或在文件系统的不同位置使用多个版本。
要开始自己,请查看Getting Started With setuptools
and setup.py
(如果这是您的私人工作,您可以跳过在pypi上注册包裹的部分。)
另一个相关的stackoverflow线程:setup.py examples? Hitchhiker's Guide to Packaging也非常有用。