我正在尝试为一个名为Zulip的开源项目构建python api,并且我一直遇到如下截图所示的相同问题.
我正在运行python3,我的pip版本是10.0.0.有问题的文件setup.py和乱码的代码pip.main()是访问属性以安装包时.
现在,我知道这个构建应该成功,因为它是一个开源项目,但我一直在努力解决依赖问题pip.main().
任何帮助将不胜感激.
eri*_*eda 68
python3 -m pip install --user --upgrade pip==9.0.3
Run Code Online (Sandbox Code Playgroud)
mdo*_*011 27
似乎pip做了一个重构并将main移到了内部.这里有一个全面的讨论:https://github.com/pypa/pip/issues/5240
对我而言,解决方法就是改变
import pip
pip.main(...)
Run Code Online (Sandbox Code Playgroud)
至
from pip._internal import main
main(...)
Run Code Online (Sandbox Code Playgroud)
我建议通过讨论阅读,我不确定这是最好的方法,但它适用于我的目的.
Luk*_*SWK 26
第一次运行
import pip
pip.__version__
Run Code Online (Sandbox Code Playgroud)
如果结果为'10 .0.0',则表示您已成功安装pip,
因为pip 10.0.0不再支持pip.main(),您可能会发现这个有用的
https://pip.pypa.io/ en/latest/user_guide /#using-pip-from-your-program
使用类似的东西
import subprocess
subprocess.check_call(["python", '-m', 'pip', 'install', 'pkg']) # install pkg
subprocess.check_call(["python", '-m', 'pip', 'install',"--upgrade", 'pkg']) # upgrade pkg
编辑:pip 10.0.1仍然不支持main
您可以通过以下命令选择DOWNGRADE您的pip版本:
python -m pip install --upgrade pip==9.0.3
要验证您的pip安装是否存在问题,请尝试使用easy_install安装早期版本的pip:
easy_install pip==9.0.1
Run Code Online (Sandbox Code Playgroud)
如果成功,pip应该立即行动.然后你可以继续安装pip你想要的任何其他版本:
pip install pip==10....
Run Code Online (Sandbox Code Playgroud)
或者您可以继续使用version 9.0.1,因为您的项目需要版本> = 9.0.
尝试重新构建项目.
小智 6
这有助于我,https://pip.pypa.io/en/stable/installing/
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
Run Code Online (Sandbox Code Playgroud)
如果您使用的是python3而未将其设置为默认值.做这个,
python3 get-pip.py
Run Code Online (Sandbox Code Playgroud)
这个对我有用.
小智 6
我的解决办法是检查pip的版本号,正确使用import正确的main函数
import pip
if int(pip.__version__.split('.')[0])>9:
from pip._internal import main
else:
from pip import main
def install(package):
main(['install', package])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
105607 次 |
| 最近记录: |