VC中的egg_info目录?
Posted
技术标签:
【中文标题】VC中的egg_info目录?【英文标题】:egg_info directory in VC? 【发布时间】:2013-10-22 21:39:59 【问题描述】:您是否将foo.egg_info
目录保留在版本控制中?
这是一个在 VC 中使用它会很好的示例:
pip install -e foo
其他人添加了新的EntryPoint (pkg_resource)
您更新代码并拉取新的入口点(文件foo.egg-info/entry_points.txt
)
无需再次调用setup.py
即可使用新的入口点
【问题讨论】:
那是不负责任的发布;如果 any 功能在包中发生更改,则需要更新版本号。您还怎么知道您安装了正确的功能集? 经验法则:不要提交生成的信息。 仅签入源代码。 如果您使用的是 VC 中的鸡蛋,那么您已经安装了这些作为开发鸡蛋;只需在更新工作副本后重新运行setup.py
。这并不难。 :-)
@MartijnPieters 感谢您的 cmets。我不确定,感觉这个目录不应该在 VC 中。如果您在答案中回答问题,我可以接受。
【参考方案1】:
如果包中的所有更新只是增加了一个入口点,那将是一个不负责任的发布;如果包中的任何功能发生变化,您需要更新版本号。您还怎么知道您安装了正确的功能集?
如果您使用的是来自 VCS 的鸡蛋,那么 pip 已经为您更新了鸡蛋信息。再次运行pip install -e foo
;它会更新包并为你重新生成 egg 信息:
$ bin/pip install -e git+https://github.com/mjpieters/setuptools_subversion.git#egg=setuptools_subversion
Obtaining setuptools-subversion from git+https://github.com/mjpieters/setuptools_subversion.git#egg=setuptools_subversion
Cloning https://github.com/mjpieters/setuptools_subversion.git to /tmp/pip-e/src/setuptools-subversion
Running setup.py egg_info for package setuptools-subversion
Installing collected packages: setuptools-subversion
Running setup.py develop for setuptools-subversion
Creating /private/tmp/pip-e/lib/python2.7/site-packages/setuptools-subversion.egg-link (link to .)
Adding setuptools-subversion 3.2 to easy-install.pth file
Installed /private/tmp/pip-e/src/setuptools-subversion
Successfully installed setuptools-subversion
Cleaning up...
$ bin/pip install -e git+https://github.com/mjpieters/setuptools_subversion.git#egg=setuptools_subversion
Obtaining setuptools-subversion from git+https://github.com/mjpieters/setuptools_subversion.git#egg=setuptools_subversion
Updating /tmp/pip-e/src/setuptools-subversion clone
Running setup.py egg_info for package setuptools-subversion
Installing collected packages: setuptools-subversion
Running setup.py develop for setuptools-subversion
Creating /private/tmp/pip-e/lib/python2.7/site-packages/setuptools-subversion.egg-link (link to .)
setuptools-subversion 3.2 is already the active version in easy-install.pth
Installed /private/tmp/pip-e/src/setuptools-subversion
Successfully installed setuptools-subversion
Cleaning up...
注意第二次调用;第二次运行状态 pip
不是“克隆”,而是“更新”VCS 克隆,之后再次运行 setup.py egg_info
。
鸡蛋信息元数据完全从源头生成;只将源代码提交给 VCS 并将鸡蛋信息完全排除在外。例如,这样您仍然可以生成特定于平台的依赖项。
【讨论】:
以上是关于VC中的egg_info目录?的主要内容,如果未能解决你的问题,请参考以下文章