我该把自定义库放在虚拟环境的哪里?
我有一个虚拟环境,用来管理几个不同的项目。我想写一个工具库,让这些项目都能用上。把这个库放在虚拟环境里似乎是个不错的主意。如果你觉得不行,欢迎直接告诉我,但请给我一个替代方案。
假设我不是完全疯了,那么我应该把我的库放在哪里最合适呢?
我的虚拟环境会把我用 pip
安装的所有东西放在 lib/python2.7/site-packages
这个文件夹里。我在想,是不是应该跟着这个做,还是找个单独的地方放(在目录树的更上层),这样如果有冲突的话,我的工作就不会被 pip
(等等)覆盖掉。
1 个回答
2
如果你的项目按照标准的打包方式使用了 setuptools
,那么你只需要在你想要使用这个库的虚拟环境中运行 python setup.py develop
。这样会生成一个 .egg-link
文件,指向你的包,其他库就可以像使用其他包一样使用它。这样做的好处是,你的最新修改会同时对所有包可用(如果这是你想要的效果)。如果你不想这样做,那你可以选择运行 python setup.py install
,或者在文件系统的不同位置使用多个版本。
要开始使用,可以看看 使用 setuptools
和 setup.py
的入门指南(如果这是你自己的私活,可以跳过注册包到 pypi 的部分)。
还有一个相关的 StackOverflow 讨论: setup.py 示例? 《打包指南》也会非常有用。