VC中的egg_info目录?

时间:2013-10-15 07:09:53

标签: python version-control egg

您是否将foo.egg_info目录保留在版本控制中?

这是一个在VC中使用它的例子:

  1. pip install -e foo
  2. 其他人添加了新的EntryPoint(pkg_resource)
  3. 您更新代码并提取新的EntryPoint(文件foo.egg-info/entry_points.txt
  4. 新的EntryPoint无需再次致电setup.py即可使用

1 个答案:

答案 0 :(得分:5)

如果包中更新的所有内容都是添加了一个入口点,那将是一个不负责任的版本;如果包中的任何功能发生更改,则需要更新版本号。你怎么知道你安装了正确的功能集?

如果您正在使用VCS中的鸡蛋,那么pip已经开始为您更新鸡蛋信息。只需再次运行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并将蛋信息完全保留。这样,您仍然可以生成特定于平台的依赖项,例如。