首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pip 10 no模块名为pip.req

pip 10 no模块名为pip.req
EN

Stack Overflow用户
提问于 2018-04-15 00:03:14
回答 1查看 9.5K关注 0票数 8
  1. 使用get-pip.py安装pip正在中断。上面写着 Requirement already up-to-date: pip in /tmp/tmpvF6RoH/pip.zip (10.0.0)
  2. 没有名为pip.req的模块

在安装pip模块时

代码语言:javascript
复制
Traceback (most recent call last):
  File "setup.py", line 5, in <module>
    from pip.req import parse_requirements
ImportError: No module named pip.req
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-15 00:03:14

安装

要使用get-pip.py进行安装,请使用--强制-reinstall标志:

代码语言:javascript
复制
$ python get-pip.py --force-reinstall

很明显,这是直到他们解决了问题https://github.com/pypa/pip/issues/5220

推荐替代pip的内部命令

避免在requirements.txt文件中放置任何依赖项链接。相反,请使用下面提到的方法。您可以直接将依赖项链接放到setup.py文件中。一些著名的包还以列表的形式维护setup.py文件中的需求,并且没有任何requirements.txt文件。

代码语言:javascript
复制
with open('requirements.txt') as f:
    install_requires = f.read().strip().split('\n')

setup(
    name='app_name',
    .
    .
    install_requires=install_requires,
    dependency_links=[
        'https://github.com/frappe/python-pdfkit.git#egg=pdfkit'
    ],
    cmdclass = \
    {
        'clean': CleanCommand
    }
)

从pip (坏习惯-不要使用,因为它可能随时中断!)

强烈建议您避免使用,因为正如pip用户指南中提到的那样,这些方法并不是线程安全的。此外,由于它们是pip的私有方法,它们可以在任何时候更改它,而无需事先通知,从而破坏了您的软件包安装!

如果您有从pip的任何进口,如:

代码语言:javascript
复制
from pip.req import parse_requirements

它会破的。由于它们现在已被移到pip._internal中,因此:

代码语言:javascript
复制
from pip._internal.req import parse_requirements

无论如何有效地使用这样的东西来实现向后兼容性:

代码语言:javascript
复制
try: # for pip >= 10
    from pip._internal.req import parse_requirements
except ImportError: # for pip <= 9.0.3
    from pip.req import parse_requirements

重要

尽管如此,由于如下所述的多种原因,使用内部pip函数并不是一个很好的实践:guide/#using-pip-from-your-program

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49837301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档