从 tar.gz 安装带有额外包含的 python pip 包

end*_*and 3 python pip python-2.7

我正在构建一个 python 包,它还有两个选项extra_includes

name='mypackage',
extras_require={
    'option_one': ['dep1'],
    'option_two': ['dep2']
}
Run Code Online (Sandbox Code Playgroud)

我只能访问 tar.gz 构建的包,这意味着我不能简单地执行以下操作:

pip install mypackage[option_two]
Run Code Online (Sandbox Code Playgroud)

以前,我直接从 tar.gz 直接安装:

pip install path/to/mypackage.tar.gz
Run Code Online (Sandbox Code Playgroud)

但是,这不再允许我指定 extra_require,例如:

pip install path/to/mypackage.tar.gz[option_two] # this is wrong
Run Code Online (Sandbox Code Playgroud)

我可以扩展包并从目录进行手动安装,但有没有办法更直接地从 tar.gz 本身安装?

dav*_*ism 6

来自 pip变更日志

7.0.0 (2015-05-21)

  • 从文件路径安装时允许使用额外内容,而不需要使用可编辑的(PR#2785)。

一些 Linux 发行版在使用 virtualenv 或 venv 的系统包时捆绑了非常旧版本的 pip。创建环境后更新 pip。

pip install -U pip
pip install package.tar.gz[name]
Run Code Online (Sandbox Code Playgroud)