您是否将 foo.egg_info
目录保留在版本控制中?
这里有一个例子,在 VC 中使用它会很好:
pip install -e foo
- 其他人添加了一个新的 EntryPoint (pkg_resource)
- 您更新代码并拉取新的 EntryPoint(文件
foo.egg-info/entry_points.txt
) - 无需再次调用
setup.py
即可使用新的 EntryPoint
最佳答案
如果包中的所有更新只是添加了一个入口点,那将是一个不负责任的发布;如果包中的任何功能发生变化,则需要更新版本号。您还如何知道您安装了正确的功能集?
如果您使用的是来自 VCS 的 egg,那么 pip 已经负责为您更新 egg 信息。只需再次运行 pip install -e foo
;它将更新包并为您重新生成鸡蛋信息:
$ 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
。
egg 信息元数据完全由源代码生成;只将源代码提交给 VCS,而将鸡蛋信息完全排除在外。例如,这样您仍然可以生成特定于平台的依赖项。
关于python - VC 中的 egg_info 目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19375214/