当前位置:  开发笔记 > 编程语言 > 正文

在Amazon Linux中升级pip

如何解决《在AmazonLinux中升级pip》经验,为你挑选了4个好方法。

我想在Amazon Linux AMI 2015.09.1上部署我的Python应用程序,它有Python2.7(默认)和pip(6.1.1).然后,我使用以下命令升级了pip:

sudo pip install -U pip

但是,它似乎坏了,并在我尝试安装软件包时显示消息:

pkg_resources.DistributionNotFound: pip==6.1.1

我发现pip删除了之前的文件/usr/bin/,并安装了新文件/usr/local/bin.因此,我尝试使用以下命令指定位置:

sudo pip install -U --install-option="--prefix='/usr/bin'" pip

尽管如此,它仍然安装了新的/usr/local/bin.除此之外,sudo虽然pip 成功安装,但pip无法正常工作.错误消息:

sudo: pip2.7: command not found

有没有办法妥善管理点子?



1> Jihoon Baek..:

尝试:

sudo which pip

这可能会显示出"没有pip in($ PATH)"之类的东西.

如果是这种情况,您可以这样做:

which pip

哪个会给你一条路/usr/local/bin/pip.

通过运行以下命令将路径复制+粘贴到pip到sbin文件夹: sudo cp /usr/local/bin/pip /usr/sbin/

这将允许您运行sudo pip没有任何错误.



2> Sector95..:

苦苦挣扎了一会儿.这是我发现的:

ec2_user查找pip可执行文件,但由于对文件夹中的文件夹other没有读取/执行权限而导致模块导入错误.这实际上没问题,因为在大多数情况下,无论如何不安装时安装失败.pip/usr/local/lib/python2.7/site-packagespiproot

sudo找不到pip.

进入rootsudo su -允许pip无问题运行.

sudo pip升级后停止工作的原因是因为删除了可执行文件(或符号链接)/usr/bin.但是,剩下的是一个名为的文件pip-27,其中包含以下内容:

#!/usr/bin/python2.7
# EASY-INSTALL-ENTRY-SCRIPT: 'pip==6.1.1','console_scripts','pip2.7'
__requires__ = 'pip==6.1.1'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('pip==6.1.1', 'console_scripts', 'pip2.7')()
    )

所以,这就是我们的错误所在,因为升级显然不会清除此文件.在哪里从名字翻译不完全清楚pippip-2.7发生.

正如在另一个答案中提到的,pip现在存在于/usr/local/bin升级之后,它不再位于sudo安全路径中.您可以secure_path通过运行将此路径添加到变量中sudo visudo.另一种选择,如果您不想将该路径添加到您的路径,secure_path则可以在其中创建指向新pip可执行文件的符号链接/usr/bin.



3> William Holr..:

您的问题可以部分解决问题.Amazon AMI不认为/usr/local/bin是root帐户的PATH的一部分.您可以通过更新root帐户~/.bashrc来包含它来解决此问题.

像这样......

export PATH=$PATH:/usr/local/bin



4> 小智..:

经过数小时的努力并阅读评论后

which pip 给/ usr / bin / pip,但是由于pip升级,实际的pip位于/ usr / local / bin / pip,并且清理未完成

因此,删除/ usr / bin /中的pip

须藤rm / usr / bin / pip

并将新的点添加到您的导出路径

vim〜/ .bash_profile

PATH = $ PATH:$ HOME / bin:/ usr / local / bin

退出终端,然后重新登录

which pip 应该给/ usr / local / bin / pip

pip install --upgrade pip

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有