您是否将foo.egg_info
目录保留在版本控制中?
下面是一个需要将其保留在VC中的示例:
pip install -e foo
- 其他人添加了一个新的入口点(pkg_resource)
- 您更新了代码并拉取了新的入口点(文件
foo.egg-info/entry_points.txt
) - 您无需再次调用
setup.py
即可使用新的入口点
您是否将foo.egg_info
目录保留在版本控制中?
下面是一个需要将其保留在VC中的示例:
pip install -e foo
foo.egg-info/entry_points.txt
)setup.py
即可使用新的入口点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
。
egg info元数据完全从源代码生成; 只需将源代码提交到VCS中,完全不涉及egg info。这样您仍然可以生成特定于平台的依赖项,例如。
setup.py
。这并不是特别艰难。 :-) - Martijn Pieters