57

pip install --upgrade pip不起作用,因为 Windows FS 脑部受损,不会让您删除打开的文件。

我尝试将我的环境设置为我想要更新的 virtualenv,然后从不同的 pip 运行,但是失败了:

(jm) E:\python\jm>c:\Python26\Scripts\pip install --upgrade pip
Downloading/unpacking pip
  Running setup.py egg_info for package pip
    warning: no previously-included files matching '*.txt' found under directory 'docs\_build'
    no previously-included directories found matching 'docs\_build\_sources'
Installing collected packages: pip
  Found existing installation: pip 0.7.1
    Uninstalling pip:
      Successfully uninstalled pip
  Running setup.py install for pip
    warning: no previously-included files matching '*.txt' found under directory 'docs\_build'
    no previously-included directories found matching 'docs\_build\_sources'
    Installing pip-script.py script to c:\Python26\Scripts
    Installing pip.exe script to c:\Python26\Scripts
    Installing pip.exe.manifest script to c:\Python26\Scripts
    Installing pip-2.6-script.py script to c:\Python26\Scripts
    Installing pip-2.6.exe script to c:\Python26\Scripts
    Installing pip-2.6.exe.manifest script to c:\Python26\Scripts
Exception:
Traceback (most recent call last):
  File "c:\Python26\lib\site-packages\pip-0.7.1-py2.6.egg\pip\basecommand.py", line 120, in main
  File "c:\Python26\lib\site-packages\pip-0.7.1-py2.6.egg\pip\commands\install.py", line 165, in run
  File "c:\Python26\lib\site-packages\pip-0.7.1-py2.6.egg\pip\req.py", line 1251, in install
  File "c:\Python26\lib\site-packages\pip-0.7.1-py2.6.egg\pip\req.py", line 466, in commit_uninstall
  File "c:\Python26\lib\site-packages\pip-0.7.1-py2.6.egg\pip\req.py", line 1549, in commit
  File "c:\Python26\lib\shutil.py", line 216, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:\Python26\lib\shutil.py", line 216, in rmtree
    rmtree(fullname, ignore_errors, onerror)
  File "c:\Python26\lib\shutil.py", line 221, in rmtree
    onerror(os.remove, fullname, sys.exc_info())
  File "c:\Python26\lib\shutil.py", line 219, in rmtree
    os.remove(fullname)
WindowsError: [Error 5] Access is denied: 'c:\\users\\mark\\appdata\\local\\temp\\pip-gvsove-uninstall\\python26\\scripts\\pip.exe'

Storing complete log in C:\Users\mark\AppData\Roaming\pip\pip.log

(jm) E:\python\jm>dir c:\Users\mark\AppData\Local\temp\pip-gvsove-uninstall\python26\scripts
 Volume in drive C has no label.
 Volume Serial Number is 74E4-FE9F

 Directory of c:\Users\mark\AppData\Local\temp\pip-gvsove-uninstall\python26\scripts

12/07/2010  11:32 AM    <DIR>          .
12/07/2010  11:32 AM    <DIR>          ..
05/14/2010  05:54 PM             7,168 pip.exe
               1 File(s)          7,168 bytes
               2 Dir(s)  22,824,603,648 bytes free

(jm) E:\python\jm>del c:\Users\mark\AppData\Local\temp\pip-gvsove-uninstall\python26\scripts\pip.exe

我希望其他人已经想出了解决这个问题的方法。在linux上没问题......

4

6 回答 6

119

easy_install -U pip

:-)

于 2010-12-07T18:05:55.233 回答
66

将 pip 作为脚本运行,使用 python 作为主要可执行文件。

python -m pip install -U pip
于 2015-02-19T21:14:04.673 回答
19

[更新 2015-11-15] 这篇文章已过时且过时。当前的最佳实践是根据 pip使用以下内容:

python -m pip install -U pip setuptools

没有必要easy_installsetuptools使用。从pip-installer页面更新 pip 的推荐过程是使用get-pip.py.

要安装或升级pip,请安全下载get-pip.py.

您可以在像msysgit 的 Git Bash这样的Bash shell中使用以下内容。

user@machine ~$ curl -L https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py | python

使用-L选项跟随重定向。最近 GitHub 更改了原始内容的 url,因此旧的原始get-pip.pyurl已被重定向,并且在 pip 网站上 url 已更改。如果成功,您应该看到以下内容:

$ curl -L https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py | python
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1309k  100 1309k    0     0   364k      0  0:00:03  0:00:03 --:--:--  366k
Downloading/unpacking pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-1.5.6-py2.py3-none-any.whl#md5=4d4fb4b69df6731c7aeaadd6300bc1f2
Installing collected packages: pip
  Found existing installation: pip 1.5.4
    Uninstalling pip:
      Successfully uninstalled pip
Successfully installed pip
Cleaning up...

您可以为 Windows 命令行修改它,但首先如果您没有 libcurl,请从 Curl 下载 Windows 二进制文件。您需要一直滚动到底部并获取Günter Knauf 当前的官方 Win32 二进制文件(当前为 7.29)并解压缩。不用担心它是 32 位还是 64 位。只要确保你得到了所有花里胡哨(ssl、zlib等)的那个。现在导航到您下载 curl 的文件夹,可能c:\Users\<you>\Downloads,打开提取的文件夹,可能curl-7.29.0-rtmp-ssh2-ssl-sspi-zlib-idn-static-bin-w32,您应该找到curl.exe. 耶!现在在 Windows shell 中,在提示符后输入(将使用您的用户名而不是myusername),替换为下载文件path\to\Curl\的路径。curl.exe

C:\Users\myusername> path\to\Curl\curl.exe -kL https://bootstrap.pypa.io/get-pip.py | python

您需要-k允许 curl 在没有证书的情况下访问安全的 GitHub pip 站点的选项。另外,感谢Piotr Dobrogost告诉我有关 Windows 管道的信息|,它节省了保存文件的步骤。

如果您已经拥有最新版本的 pip,您将收到以下消息:

$ curl https://bootstrap.pypa.io/get-pip.py | python
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1309k  100 1309k    0     0   369k      0  0:00:03  0:00:03 --:--:--  371k
Requirement already up-to-date: pip in c:\python27\lib\site-packages
Cleaning up...

在 virtualenvs 中也可以正常工作。

于 2012-11-20T01:59:35.907 回答
0

尝试:
右键单击 Anaconda 提示符(以管理员身份运行)

>> conda update pip

(如果您使用的是 Anaconda。PS:它对我有用)

于 2018-07-12T20:14:30.263 回答
-1

嘿,我只能在 CMD 中使用以下命令升级 Python 36 上的 PIP

python -m pip install --upgrade pip

CMD:在 Python 36 中升级 PIP

于 2019-05-13T16:00:53.380 回答
-2

pip install pip --upgrade

在此处输入图像描述为我工作

注意:确保您在管理员模式下运行命令提示符

于 2019-03-04T03:13:02.120 回答