python - Pip 坏了,我没有管理员权限
问题描述
我现在已经在这个问题上投入了大约 6 个小时,而且我越来越远。这就是发生的事情。
我正在使用具有 Python 2.7 和 Python 3.5 的共享 Linux 机器,但我没有管理员权限。我使用的是 Python 3.5,我想使用 seaborn 包,我发现我想要的特定标签功能仅在较新版本中可用。所以没问题“pip3 install seaborn --upgrade”。
一切都发生得如此之快,但出了点问题,根据互联网的建议,我最终升级了一些其他软件包,如 matplotlib、setuptools,并最终升级了 pip 本身。
这是真正出错的地方。皮普刚刚破产。当我运行 pip3 --version 时会发生这种情况:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 33, in vendored
__import__(vendored_name, globals(), locals(), level=0)
ImportError: No module named 'pip._vendor.pkg_resources'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 13, in <module>
from pip.exceptions import InstallationError, CommandError, PipError
File "/usr/lib/python3/dist-packages/pip/exceptions.py", line 6, in <module>
from pip._vendor.six import iteritems
File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 75, in <module>
vendored("pkg_resources")
File "/usr/lib/python3/dist-packages/pip/_vendor/__init__.py", line 36, in vendored
__import__(modulename, globals(), locals(), level=0)
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
File "<frozen importlib._bootstrap>", line 634, in _load_backward_compatible
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2927, in <module>
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2913, in _call_aside
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2952, in _initialize_master_working_set
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 956, in subscribe
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2952, in <lambda>
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2515, in activate
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2097, in declare_namespace
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2047, in _handle_ns
File "/usr/share/python-wheels/pkg_resources-0.0.0-py2.py3-none-any.whl/pkg_resources/__init__.py", line 2066, in _rebuild_mod_path
AttributeError: '_NamespacePath' object has no attribute 'sort'
调用堆栈中的第一行是“from pip import main”,所以我尝试运行 pip --version 而不是 pip3,现在我得到:
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
from pip import main
ImportError: cannot import name main
这个错误在整个互联网上都是 pip 本身的一个错误,但所有的解决方案都涉及我无权做的事情。我尝试使用“python -m pip ...”卸载并重新安装旧版本的 pip,但这对 pip3 错误没有帮助,它在几行后提示了相同的错误。而且我不能将此快捷方式与 pip3 (python3 -m pip...) 一起使用,因为无论如何都会发生此错误。
最糟糕的是,我原来的程序现在完全死了。我什至无法在不崩溃的情况下导入 seaborn。
Traceback (most recent call last):
File "/u/hailey/.local/lib/python3.5/site-packages/matplotlib/__init__.py", line 861, in __setitem__
cval = self.validate[key](val)
KeyError: 'axes.color_cycle'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "nn.py", line 9, in <module>
import seaborn as sns
File "/usr/lib/python3/dist-packages/seaborn/__init__.py", line 13, in <module>
set()
File "/usr/lib/python3/dist-packages/seaborn/rcmod.py", line 98, in set
set_palette(palette, color_codes=color_codes)
File "/usr/lib/python3/dist-packages/seaborn/rcmod.py", line 491, in set_palette
mpl.rcParams["axes.color_cycle"] = list(colors)
File "/u/hailey/.local/lib/python3.5/site-packages/matplotlib/__init__.py", line 868, in __setitem__
'list of valid parameters.' % (key,))
KeyError: 'axes.color_cycle is not a valid rc parameter. See rcParams.keys() for a list of valid parameters.'
在这一点上,我决定如果我只是将我自己的干净版本的 Python 下载到我有权限的本地目录中,一切都会更容易。所以我下载并在本地目录中设置了新版本的 Python 3.6。然后我用这个运行了我的原始程序,我被告知我没有名为“numpy”的模块。合理的。让我们尝试安装 numpy。
Obtaining file:///u/hailey/python36/Python-3.6.0
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/u/hailey/python36/Python-3.6.0/setup.py", line 4, in <module>
import sys, os, importlib.machinery, re, optparse
ImportError: No module named machinery
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /u/hailey/python36/Python-3.6.0/
现在我被引导到一个推荐运行“setup.py install”的页面,这听起来很简单。但是没有。
bash: /u/hailey/python36/Python-3.6.0/setup.py: Permission denied
现在我放弃了,因为显然我对 Python 一无所知。我真的很感激这方面的一些帮助。在这一点上,即使只是恢复我昨天的状态也很好,因为我可以在没有 seaborn 图表上的额外标签的情况下生活。感谢大家!
解决方案
推荐阅读
- xslt-1.0 - 如何放置“和”条件以从 xslt 中删除 xml 元素
- javascript - 基于对象的日期、时间排序数组
- python - 如何使用 python(服务器)和 Angular(客户端)从 SQL Server 发送 pdf 数据和保存
- css - 以字体显示标题 - 真棒图标
- php - simplexml_load_file 通过 url 读取远程 xml,由对等方重置连接
- sql-server - 在临时表中插入相同表和不同变量的值
- javascript - 在数组中查找模式
- java - Vaadin Flow:组件和元素之间的区别
- sql - 修剪字符串直到一个值
- python - numpy数组的元素之和与总数不同