Python pip安装提供了“命令”python setup.py egg_info“失败,错误代码1”
编辑:是的,我知道this question已存在,除了我的问题有点不同,没有解决方案修复它。Python pip安装提供了“命令”python setup.py egg_info“失败,错误代码1”
我在工作时并不是在个人计算机上执行大部分Python工作,但我决定将其安装在我的个人计算机上。我新装了python 3.6.1,并创建了一个虚拟环境virtualenv
。然后的virtualenv中我试图点子安装的urllib(或模块)和我收到的错误:
(pdbot) C:\Users\user\Documents\pdbot>pip install urllib
Collecting urllib
Using cached urllib-1.21.1.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\user\AppData\Local\Temp\pip-build-50tn0wlb\urllib\setup.py", line 191
s.connect((base64.b64decode(rip), 017620))
^
SyntaxError: invalid token
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\user\AppData\Local\Temp\pip-build-50tn0wlb\urllib\
我看别的地方,这个错误必须是与setuptools的没有被正确安装。所以,我跑这来尝试解决问题:
easy_install -U setuptools
我结束了接收下一个甚至怪异的错误:
(pdbot) C:\Users\zeke\Documents\pdbot>easy_install -U setuptools
Searching for setuptools
Reading https://pypi.python.org/simple/setuptools/
Downloading https://pypi.python.org/packages/a9/23/720c7558ba6ad3e0f5ad01e0d6ea2288b486da32f053c73e259f7c392042/setuptools-36.0.1.zip#md5=430eb106788183eefe9f444a300007f0
Best match: setuptools 36.0.1
Processing setuptools-36.0.1.zip
Writing C:\Users\zeke\AppData\Local\Temp\easy_install-jhg1val_\setuptools-36.0.1\setup.cfg
Running setuptools-36.0.1\setup.py -q bdist_egg --dist-dir C:\Users\zeke\AppData\Local\Temp\easy_install-jhg1val_\setuptools-36.0.1\egg-dist-tmp-8apak7kn
warning: no files found matching '*' under directory 'setuptools\_vendor'
Copying setuptools-36.0.1-py3.6.egg to c:\users\zeke\documents\pdbot\lib\site-packages
Adding setuptools 36.0.1 to easy-install.pth file
Installing easy_install-script.py script to c:\users\zeke\documents\pdbot\Scripts
Installing easy_install.exe script to c:\users\zeke\documents\pdbot\Scripts
error: [WinError 5] Access is denied: 'c:\\users\\zeke\\documents\\pdbot\\Scripts\\easy_install.exe'
这看起来像一个权限错误,但我跑这些都在管理员命令提示符(Windows 10)并得到相同的结果。我是这台计算机上的唯一用户,我拥有所有管理员权限。这个virtualenv是否会造成问题?我该如何补救?
编辑:我能够通过利用Python的可执行文件,像这样来解决权限问题:
python -m easy_install -U setuptools
但它并没有解决python setup.py egg_info
问题。试图pip install
什么时候我仍然收到此错误信息:
Command "python setup.py egg_info" failed with error code 1 in C:\Users\user\AppData\Local\Temp\pip-build-50tn0wlb\urllib\
我曾经尝试都python -m pip install urllib
和pip install urllib
也不工作。
我在尝试安装urllib时遇到了同样的问题,但在执行pip search urllib
之后,我发现问题归因于urllib的版本。从搜索:
$ pip search urllib
...
> urllib5 (5.0.0) - Just increment the number and create a new lib. Never fix the original one.
最后,一个简单的
pip install urllib5
升高壳内
解决它。
有两点才能回答你的问题,使:
1.你是幸运的,你没有安装该程序包!
您试图安装的软件包是一个恶意创建的python软件包,其设计看起来像一个真正的软件包(在本例中为urllib3)。如果您已经安装了该软件包,该软件包将可以正常运行,除非它已经发送了有关您将该软件包安装到一个URL的系统的一些基本信息(您可以在此处看到更多详细信息)here。您可以在以下任一链接了解更多关于这个假包:
- https://app.threatconnect.com/auth/incident/incident.xhtml?incident=5256822&owner=Common%20Community(你可以注册一个免费帐户,查看这个)
- http://www.nbu.gov.sk/skcsirt-sa-20170909-pypi/index.html
发送有关的基本信息你的系统到一个未知的来源不是你可以做的最糟糕的事情,但是当然你可能想要尽量避免。
2.要正确安装包...
-
具体的urllib:
要安装的urllib,你需要指定你想安装的软件包的版本。例如,
pip install urllib3
或pip install urllib5
。 -
任何包一般:
由于@Elisabete科埃略建议,您可以使用
pip search <package-name>
功能来查看可用的软件包。然而,这并不完美,因为它可能会列出恶意库,例如您正在尝试安装的恶意库。一个很好的指导方针是,您应该密切关注软件包文档中的安装说明,以避免出现无法预料的问题。这是生活在人们假装蟒蛇包装的世界的不幸必需品。在`C的
检查属性:\\ \\用户\\ ZEKE文件\\ \\ pdbot脚本\\',并确保当前用户(您)可以写,编辑文件 – Stack
它被设置为只读,但改变后,问题仍然存在。 – Logicman
在属性中检查'安全'选项卡并检查您的用户的权限 – Stack