Pycharm 添加解释器时出现错误,权限被拒绝。

4

当我添加解释器时,在PyCharm上出现了“permission denied”的错误。以前它是可以正常工作的,但突然之间就失效了。在PyCharm 2.7.3上出现了问题,尽管我升级到了3.0版本,但仍然无法使用。虽然已经添加了解释器,但仍然会抛出这个错误。如果有任何信息,请告诉我。我认为可能是安装虚拟环境后导致的(不确定)。

路径没问题,但包为空,并且安装按钮是灰色的。通常我会通过终端进行安装,但最好还是让IDE全面工作。

更新

which python ->/usr/bin/python

更新2

我发现某些egg文件有不同的权限。当我将权限更改为rw r r (644)时,由于某种原因,它们回到了600。

umask -> 0022

drwxr-xr-x  2 root root 4096 02.09.2013 01:06 ./
drwxr-xr-x 53 root root 4096 23.09.2013 21:29 ../
-rw-r--r--  1 root root    8 02.09.2013 01:06 top_level.txt
-rw-r--r--  1 root root 1319 02.09.2013 01:06 PKG-INFO
-rw-r--r--  1 root root    1 02.09.2013 01:06 dependency_links.txt
-rw-r--r--  1 root root 5792 02.09.2013 01:06 SOURCES.txt
-rw-r--r--  1 root root 8666 02.09.2013 01:06 installed-files.txt

drwxr-xr-x 4 root root 4096 31.08.2013 22:28 ../
drwxr-xr-x 2 root root 4096 31.08.2013 22:28 ./
-rw------- 1 root root    9 31.08.2013 22:28 top_level.txt
-rw------- 1 root root  563 31.08.2013 22:28 SOURCES.txt
-rw------- 1 root root    3 31.08.2013 22:28 requires.txt
-rw------- 1 root root  425 31.08.2013 22:28 PKG-INFO
-rw------- 1 root root    1 31.08.2013 22:28 not-zip-safe
-rw------- 1 root root    1 31.08.2013 22:28 dependency_links.txt


Traceback (most recent call last): 
File "/usr/lib/python3.3/site-packages/pkg_resources.py", 
line 2304, in _dep_map return self.__dep_map File "/usr/lib/python3.3/site-packages/pkg_resources.py",
line 2374, in __getattr__ raise AttributeError(attr) AttributeError: 
_Distribution__dep_map During handling of the above exception, another exception occurred: 
Traceback (most recent call last): 
File "/home/foobar/Programming/pycharm3/helpers/packaging_tool.py",
line 115, in main do_list() File "/home/foobar/Programming/pycharm3/helpers/packaging_tool.py",
line 47, in do_list requires = ':'.join([str(x) for x in pkg.requires()]) File "/usr/lib/python3.3/site-packages/pkg_resources.py",
line 2323, in requires dm = self._dep_map File "/usr/lib/python3.3/site-packages/pkg_resources.py", 
line 2308, in _dep_map for extra,reqs in split_sections(self._get_metadata(name)): 
File "/usr/lib/python3.3/site-packages/pkg_resources.py", 
line 2750, in split_sections for line in yield_lines(s): 
File "/usr/lib/python3.3/site-packages/pkg_resources.py", 
line 2009, in yield_lines for ss in strs: File "/usr/lib/python3.3/site-packages/pkg_resources.py", 
line 2337, in _get_metadata for line in self.get_metadata_lines(name): 
File "/usr/lib/python3.3/site-packages/pkg_resources.py", 
line 1325, in get_metadata_lines return yield_lines(self.get_metadata(name)) 
File "/usr/lib/python3.3/site-packages/pkg_resources.py", 
line 1322, in get_metadata return self._get(self._fn(self.egg_info,name)).decode("utf-8") 
File "/usr/lib/python3.3/site-packages/pkg_resources.py", 
line 1426, in _get stream = open(path, 'rb') PermissionError: 
[Errno 13] Permission denied: '/usr/lib/python3.3/site-packages/python_dateutil-2.1-py3.3.egg/EGG-INFO/requires.txt'
bpython 0.12 /usr/lib/python3.3/site-packages/bpython-0.12-py3.3.egg 
pygments Pygments 1.6 /usr/lib/python3.3/site-packages/Pygments-1.6-py3.3.egg 
OpenGLContext 2.2.0a2 /usr/lib/python3.3/site-packages/OpenGLContext-2.2.0a2-py3.3.egg 
Cython 0.19.1 /usr/lib/python3.3/site-packages/Cython-0.19.1-py3.3-linux-x86_64.egg 
docutils 0.11 /usr/lib/python3.3/site-packages/docutils-0.11-py3.3.egg 
selenium 2.35.0 /usr/lib/python3.3/site-packages/selenium-2.35.0-py3.3.egg 
numpy 1.7.1 /usr/lib/python3.3/site-packages/numpy-1.7.1-py3.3-linux-x86_64.egg 
matplotlib 1.3.0 /usr/lib/python3.3/site-packages/matplotlib-1.3.0-py3.3-linux-x86_64.egg 
python-dateutil:tornado:pyparsing>=1.5.6:nose nose 1.3.0 /usr/lib/python3.3/site-packages/nose-1.3.0-py3.3.egg 
pyparsing 2.0.1 /usr/lib/python3.3/site-packages/pyparsing-2.0.1-py3.3.egg tornado 3.1 
/usr/lib/python3.3/site-packages/tornado-3.1-py3.3.egg or create new VirtualEnv

看起来你已经成功地让 PyCharm 认为你的主要安装路径在 /usr 是一个虚拟环境,因此它试图在没有使用 sudo/PAM/等权限管理工具的情况下安装程序,从而导致权限错误。 - abarnert
我看到了,我几乎确定它与 venv 有关。不知道我是怎么做到的,让我试着搞一下,看看能不能修复它。 - Foo Bar User
除此之外,我只执行了 /path/to/venv/bin/easy-install package 和 /path/to/ven/python /path/to/script。没有其他操作。 - Foo Bar User
好的,看起来我的猜测是错误的。问题在于找出为什么您的站点包不可读取。这更多地涉及到平台/发行版特定的问题,Python安装方法的问题,以及/或者您特定的shell环境的问题... - abarnert
我觉得可能是由于一个损坏的软件包之类的问题。不太确定是什么导致了这个问题,但我设法解决了它。我已经发布了答案。很奇怪的是,在我搞虚拟环境(venv)时发生了这个问题,可能只是一些随机的事情。 - Foo Bar User
显示剩余4条评论
2个回答

3
我已经解决了它。
1.我发现一个特定的蛋(python_dateutil-2.1-py3.3.egg)对于非Linux用户来说权限不正确(600),这意味着只有管理员才能读取文件。
2.我更改了权限(到644)并重新添加了解释器。权限自动回到600。Umask很好(022),所以我认为是PyCharm改变了它。
3.我执行了“sudo pip install --upgrade python-dateutil”,然后再次将权限更改为644。
4.然后它工作了。我认为这是关于pkg的一些PyCharm不喜欢的东西。 pip输出:
sudo   pip install --upgrade python-dateutil
Requirement already up-to-date: python-dateutil in /usr/lib/python3.3/site-packages/python_dateutil-2.1-py3.3.egg
Downloading/unpacking six from https://pypi.python.org/packages/source/s/six/six-1.4.1.tar.gz#md5=bdbb9e12d3336c198695aa4cf3a61d62 (from python-dateutil)
  Downloading six-1.4.1.tar.gz
  Running setup.py egg_info for package six

Installing collected packages: six
  Found existing installation: six 1.3.0
    Uninstalling six:
      Successfully uninstalled six
  Running setup.py install for six

Successfully installed six
Cleaning up...

1
您的经验指引了我正确的方向,非常感谢。我的问题在于我的主目录仅由root拥有和可写:)这就是Pycharm想要放置其助手的地方... - Lauri Elias

-1

我在安装Java开发工具包和Eclipse后遇到了这个问题。解决方法是从控制面板中卸载jdk,然后重新安装Python 3.2,并确保添加了新的路径名称。我还删除了与Python相关的先前的PATH变量。


听起来你的回答是针对Windows的,但是提问者使用的是某种Unix品牌。这个回答不太可能对他们有帮助,而且也晚了几年。 - Josh Karpel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接