python - VC 中的 egg_info 目录?

标签 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. 无需再次调用 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/

相关文章:

python - 如何使用下载的 GIT 存储库安装 python egg

python - 在哪里可以下载带有 psycopg2 for Windows 的二进制鸡蛋?

Python3 使用 lambda 对嵌套字典的列表进行排序

python - 似乎无法初始化 Spark 上下文 (pyspark)

xcode 源代码管理不显示当前分支

Git: merge 结构非常不同的分支

python - 如何从 Django 中的 ModelForm 手动创建选择字段?

python - 将货币对象更改为小数。使用小数实例

database - 代码控制下数据库脚本的最佳实践是什么

python - 是否有与 Ruby 的 'rvm' 等效的python?