安装
使用 get-pip.py 进行安装时,请使用 --force-reinstall 标志:
$ python get-pip.py --force-reinstall
显然这是在他们修复问题之前。 https://github.com/pypa/pip/issues/5220
pip内部命令的推荐替代方案
避免在您的 requirements.txt
文件中放置任何依赖链接。 相反,使用下面提到的方法。 您可以直接在 setup.py
文件中放置依赖项链接。 一些著名包也将要求以列表的形式维护在 setup.py
文件中,而没有任何 requirements.txt
文件。
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导入任何模块,请注意:
from pip.req import parse_requirements
它会出现错误。因为现在已经将它们移动到 pip._internal 中,如下所示:
from pip._internal.req import parse_requirements
无论如何,为了向后兼容性,您仍需使用类似以下的代码:
try:
from pip._internal.req import parse_requirements
except ImportError:
from pip.req import parse_requirements
重要提示
虽然可以在程序中使用pip的内部函数,但由于多个原因不建议这样做,请参考此处提到的内容:https://pip.pypa.io/en/latest/user_guide/#using-pip-from-your-program