知道如何在 Windows 盒子上更新 python PIP 吗?
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下没问题....
pip install --upgrade pip
doesn't work because the windows FS is brain damaged and won't let you delete an open file.
I've tried setting my environment to the virtualenv that I want to update and then running from a different pip, but that fails with:
(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
I'm hoping someone else has figured out a way around this. Its no problem on linux....
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
easy_install -U pip
:-)
easy_install -U pip
:-)
使用 python 作为主要可执行文件,将 pip 作为脚本运行。
Run pip as a script, using python as the main executable.
[更新 2015-11-15] 这篇文章已过时且已过时。当前的最佳实践是 根据 pip 是使用以下内容:
没有必要使用
easy_install
来自 setuptools。更新 pip 的推荐过程,来自 pip-installer< /a> 页面使用get-pip.py
。您可以在 Bash shell 中使用以下内容,例如 msysgit 的 Git Bash。
使用
-L
选项来跟踪重定向。最近 GitHub 更改了原始内容的 url,因此 旧的原始get-pip.py
url 已 重定向并在 pip 网站上网址已更改。如果成功,您应该看到以下内容:您可以在 Windows 命令行中修改此内容,但首先如果您没有 libcurl,从 Curl 下载 Windows 二进制文件。您需要一直滚动到底部并获取 Günter Knauf 当前的官方 Win32 二进制文件(当前为 7.29) 并解压缩它。不用担心它是 32 位还是 64 位。只要确保您获得的是具有所有附加功能(ssl、zlib 等)的产品即可。现在导航到您下载curl的文件夹,可能是
c:\Users\\Downloads
,打开提取的文件夹,可能是curl-7.29.0-rtmp-ssh2-ssl -sspi-zlib-idn-static-bin-w32
,您应该找到curl.exe
。耶!现在,在 Windows shell 中,在提示符后键入此内容(其中将包含您的用户名,而不是myusername
),将path\to\Curl\
替换为下载的的路径>curl.exe
文件。您需要
-k
选项来允许curl 无需证书即可访问安全的GitHub pip 站点。另外,感谢 Piotr Dobrogost 告诉我有关 Windows 管道的信息,|
,它节省了保存文件的步骤。如果您已经拥有最新版本的 pip,您将收到以下消息:
在 virtualenvs 中也可以正常工作。
[UPDATE 2015-11-15] This post is obsolete and out of date. Current best practice is according to pip is to use the following:
It's not necessary to use
easy_install
from setuptools. The recommended procedure to update pip, from the pip-installer page is to useget-pip.py
.You can use the following in a Bash shell like msysgit's Git Bash.
Use the
-L
option to follow redirects. Recently GitHub changed the url for raw content, so the old rawget-pip.py
url has been redirected and on the pip website the url was changed. If successful, you should see the following:You can modify this for the Windows command line, but first if you don't have libcurl, download a Windows binary from Curl. You'll want to scroll all the way to the bottom and get Günter Knauf's current official Win32 binary (currently 7.29) and unzip it. Don't worry about it being 32-bit versus 64-bit. Just make sure you get the one with all the bells and whistles (ssl, zlib, etc.). Now navigate to the folder where you downloaded curl, probably
c:\Users\<you>\Downloads
, open the extracted folder, probablycurl-7.29.0-rtmp-ssh2-ssl-sspi-zlib-idn-static-bin-w32
, and you should findcurl.exe
. Yay! Now in a windows shell type this after the prompt (which will have your username instead ofmyusername
), replacingpath\to\Curl\
with the path to the downloadedcurl.exe
file.You need the
-k
option to allow curl to access the secure GitHub pip site without certs. Also, thanks Piotr Dobrogost for telling me about Windows pipes,|
, which saves the step of saving the file.If you already have the latest version of pip you will get the following message:
Also works just fine in virtualenvs.
尝试:
右键单击 Anaconda 提示符(以管理员身份运行)
(如果您使用的是 Anaconda。PS:它对我有用)
Try:
Right Click Anaconda Prompt (Run as Admin)
(If you are using Anaconda. PS: It worked for me)
嘿,我刚刚能够在 CMD 中使用以下命令在 Python 36 上升级 PIP
python -m pip install --upgrade pip
Hey i Just able to Upgrade PIP on Python 36 with Following Command in CMD
python -m pip install --upgrade pip
pip install pip --upgrade
为我工作
注意:确保您在管理员模式下运行命令提示符
pip install pip --upgrade
worked for me
Note: Make sure you are running command Prompt in administrator mode