警告:旧脚本包装程序正在调用pip。这将在未来版本的pip中失败。请看https://github.com/pypa/pip/issues/5599寻求解决潜在问题的建议。为了避免这个问题,您可以使用“-m pip”调用Python,而不是直接运行pip。
当我在终端上直接输入< code>pip list时,我得到了上面的警告。到底是什么意思?
我应该始终将其用作python3-m pip list
吗?如果我以这种方式使用它,则会出现相同的输出(包列表)而没有任何警告。
p、 我在乌班图18.10
让我先说一下,我对python和linux总体上还很生疏,所以我可能偏离了我的指导,但是我离题了...
当使用< code>pip命令时,您可能希望检查正在调用的< code>pip模块的位置。对我来说,我发现当我更新和修改< code>pip命令时,它会更新我的< code>~/上的< code>pip文件。local/bin目录,但是当我运行它时,它将默认为位于< code>/usr/local/bin目录中的< code>pip命令。
运行命令
pip install --upgrade pip
对我来说,这个命令返回了:
默认为用户安装,因为正常的站点包不可写 要求已是最新的: pip in ./.local/lib/python3.6/站点包 (20.1.1)
记下文件位置和版本(粗体)。
通过分别运行这 2 个命令来检查路径变量和默认执行的默认 pip
echo $PATH
和
which pip
上帝愿意,它们将是一致的,否则你将不得不改变你是路径变量目录,以确保你想要的pip模块的目录是第一个,或者你必须从你不想使用的控制器中删除pip文件(即,当你运行哪个pip时出现的目录,如果它与你更新pip时列出的目录不同)
对我来说,删除< code>usr/local/bin中的pip文件非常有效。还要检查您想要使用的pip文件是否在其脚本顶部引用了正确的python版本
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
from pip._internal.cli.main import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
另一个文件最初引用了 usr/bin/python (Python 2.7),而不是我最初想要的 usr/bin/python3 (python 3.6.9)。
就像我之前说的,我刚刚开始使用linux和python,所以要谨慎对待它。但是,在采取这些步骤后,我不再收到此pip警告。让我知道这是否有帮助。
当我从bash切换到zshshell时,我也遇到了同样的问题。
解决方案很简单,但我一开始没有注意到。
安装pip后,我看到了这个警告
pip 正在由旧的脚本包装器调用
首先我尝试了这个解决方案
python3.8-m pip安装--升级--强制重新安装pip
但后来我遇到了这个问题:
然后我搜索了如何添加< code>PYTHONPATH。我打开了我的<代码>。zshrc并说这些行被注释了
#如果您来自bash,您可能需要更改$PATH。
我取消了后面那句话的注释,我的痛苦消失了。
当我跑的时候,
python3.8-m pip安装--升级--强制重新安装pip
然后,不走在路上
的警告凭空消失了,给我留下了一个干净的输出。
我希望这能帮助任何遇到同样问题的人。
我也面临同样的问题,但是是在Windows上。重新安装< code>pip对我有效。您可以使用以下命令强制重新安装< code>pip:
python -m pip install --upgrade --force-reinstall pip
对于Python3版本:
python3 -m pip install --upgrade --force-reinstall pip
我目前在macOS大苏尔和最近更新的pip从19.2.3到20.3.3,但现在有旧的包装脚本错误。我在网上搜索解决方案并尝试了所有这些解决方案,但没有任何效果。 所以目前我有python 3.8.2(我卸载了我的python 3.7.4) 我将python 3.8添加到现在 显示 但这对任何事情都没有帮助 我也试过重新安装,但也不好使。 我可以尝试其他解决方案吗?问题是因为路径吗? 如果这种情况仍
问题内容: 我刚刚将软件包的新版本上传到PyPi(1.2.1.0-r4):我可以下载egg文件并使用easy_install进行安装,并且该版本可以正确检出。但是,当我尝试使用pip进行安装时,它将安装版本1.1.0.0。即使我明确指定要使用的版本,也会收到以下消息:,但我不明白为什么。 我仔细检查并确认1.2.1上的版本字符串大于1.1.0上的版本字符串,如下所示: 那么,为什么要选择安装1.1
这似乎是一个常见问题,但无论存在多少解决方案,我似乎都无法解决它。 我也不明白的是,为什么tns医生在同一台机器上的另一个用户上工作得很好,但是,我的用户出现以下错误。有什么想法吗? 这里是我的环境变量,请注意,这些变量在tns doctor正常工作的用户中是相同的。 我已尝试重新安装nativescript。 预先感谢
问题内容: 我参与了一个将项目从Oracle迁移到MySQL的项目。在Oracle中,当通过命令行运行批处理时,我能够创建一个引用或包含其他外部SQL脚本文件的SQL脚本。我有一个名为CreateAllTables.sql的脚本,在内部看起来像这样: 我已经知道MySQL命令行“源”命令,但是我的目标是通过一个命令行调用来调用一个包含其他脚本的主.sql脚本文件,如下所示: 所以我的问题是我该如何
问题内容: 在我的应用程序中,我想使用: ,这需要 ,这需要 如何安装带有pip的多个版本来处理这种情况? 问题答案: 点不会帮助您。 您可以告诉它安装特定版本,但是它将覆盖另一个版本。另一方面,使用两个virtualenvs将使您在同一台计算机上安装两个版本,但不能同时使用它们。 最好的选择是手动安装这两个版本,方法是将它们以不同的名称放在Python路径中。 但是,如果您的两个库期望它们具有相
我正在编写一个简单的bash脚本,它所做的一件事就是在继续之前检查数据库是否已经存在。这段代码足够简单,但每当我试图运行脚本时,我都会收到一条警告消息,我想抑制它。 以下是代码: 因此,作为输出,当if语句返回true时,我得到以下消息: 我怎样才能抑制这个信息?它不会阻止脚本运行,但我不希望看到它。