我正在尝试为一个名为Zulip的开源项目构建python api,并且我仍然遇到如下截图所示的相同问题。
我正在运行python3,我的pip版本是10.0.0。有问题的文件是setup.py
,而且搞乱的代码是访问pip.main()
属性以安装软件包时。
现在,我知道这个构建应该成功,因为它是一个开源项目,但我已经尝试了几个小时来修复关于pip.main()
的依赖性问题。
非常感谢任何帮助。
答案 0 :(得分:61)
python3 -m pip install --user --upgrade pip==9.0.3
答案 1 :(得分:23)
首次运行
import pip
pip.__version__
如果结果为'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仍然不支持主要
您可以通过以下命令选择降级您的点数版本:
python -m pip install --upgrade pip==9.0.3
答案 2 :(得分:21)
似乎pip做了一个重构并将main移到了内部。这里有一个全面的讨论:https://github.com/pypa/pip/issues/5240
我的解决方法是改变
$foo
到
import pip
pip.main(...)
我建议阅读讨论,我不确定这是最好的方法,但它适用于我的目的。
答案 3 :(得分:5)
要验证是否存在pip
安装问题,请尝试使用easy_install
安装早期版本的pip:
easy_install pip==9.0.1
如果成功,pip
现在应该正常工作。然后,您可以继续安装所需的任何其他版本的pip
:
pip install pip==10....
或者您可以继续使用version 9.0.1
,因为您的项目需要版本> = 9.0。
再次尝试构建项目。
答案 4 :(得分:5)
这对我有帮助,https://pip.pypa.io/en/stable/installing/
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
如果您使用的是python3并且未将其设置为默认值。为此,
python3 get-pip.py
对我有用。
答案 5 :(得分:3)
如果python -m pip install --upgrade pip==9.0.3
不起作用,并且您正在使用Windows,
答案 6 :(得分:2)
Pip 10.0。*不支持main。
你必须降级到pip 9.0.3。
答案 7 :(得分:2)
我的解决方案是检查pip的版本号,并正确使用导入正确的主要功能
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])
答案 8 :(得分:1)
尝试此命令。
python -m pip install --user pip==9.0.1
答案 9 :(得分:0)
效果很好:
py -m pip install --user --upgrade pip==9.0.3
答案 10 :(得分:0)
编辑文件: 第108行中的C:\ Users \ kpate \ hw6 \ python-zulip-api \ zulip_bots \ setup.py
到
rcode = pip.main(['install', '-r', req_path, '--quiet'])
DO
rcode = getattr(pip, '_main', pip.main)(['install', '-r', req_path, '--quiet'])´
答案 11 :(得分:0)
不确定Windows。但对于Mac用户,请使用以下命令:
pip install --upgrade pip==9.0.3
答案 12 :(得分:0)
步骤1 卷曲https://bootstrap.pypa.io/get-pip.py -o get-pip.py 第2步 python get-pip.py
答案 13 :(得分:0)
我解决了升级到最新版本的问题
sudo pip install --upgrade pip
我的版本: /embrary/Python/2.7/site-packages/pip(python 2.7)中的 pip 18.1
答案 14 :(得分:0)
在Windows的anaconda3 4.4.0(python 3.6)上使用pip时,我遇到了相同的错误。
我通过以下命令解决了该问题:
ll
或者如果需要较低版本的点,请在命令中提及相同的内容。
或者您可以尝试安装较低版本,然后将其升级为最新版本,如下所示:
<html>
<body>
<form method="post">
<input type="text" name="yymmdd">
<input type="submit" value="Do it!">
</form>
</body>
</html>
<?php
$con = new PDO("mysql:host=localhost;dbname=acc_project_inv",'root','');
if (!empty($_POST["yymmdd"])) {
$ymd = $_POST["yymmdd"];
// You should add more checks here to make sure that the $ymd
// variable only contains expected characters (since it's user
// input)
$sql = "CALL calcPro( :yyyymmdd )";
$result = $con->prepare($sql);
$result->setFetchMode(PDO::FETCH_ASSOC);
$result->execute([":yyyymmdd" => $ymd]);
if ($result) {
echo "Calculated";
} else {
echo "Report Development Team";
}
}
答案 15 :(得分:0)
对我来说,当我在site-packages文件夹中运行python时,发生了此问题。如果我在其他任何地方运行它,则不再是问题。