python - 添加解释器时Pycharm错误,权限被拒绝

标签 python pycharm

在添加解释器时,我在 pycharm 上的权限被拒绝。它曾经工作,突然坏了,不知道发生了什么变化。它在 pycharm 2.7.3 上坏了我升级到 3.0 但仍然坏了。添加了 interpeted 但它抛出此错误。任何信息都会有用。我认为它可能会在安装虚拟环境后崩溃(不确定)

路径没问题,但是包是空的,安装按钮是灰色的。通常我通过终端安装,但无论如何让 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

最佳答案

我设法解决了它。

  1. 我发现 1 个特定的 egg (python_dateutil-2.1-py3.3.egg) 对于非 linux 用户有不正确的权限 (600) 这意味着只有管理员可以阅读文件。
  2. 我更改了权限(到 644)并重新添加了解释器。权限自动返回到 600。 Umask 很好(022) 所以我假设 pycharm 改变了它。
  3. 我执行了 sudo pip install --upgrade python-dateutil 并将权限再次更改为 644
  4. 然后成功了。我假设 pycharm 不喜欢 pkg 的某些内容。

点输出:

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...

关于python - 添加解释器时Pycharm错误,权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19039709/

相关文章:

python - 测试模拟是否与其他模拟一起调用

mysql - Python3.3+Django+mysqldb+pycharm

Python 数组按单词过滤

python - 定义类包含什么

python - 如何调试基于 PyQt4 的应用程序?

pycharm - Pycharm中的watch窗口在哪里?

python-3.x - flask 类型错误 : argument of type 'NoneType' is not iterable

java - PyCharm 并与 Java 集成

python - 无法从 MySQL 获取数据并在 Django 中呈现它

python - 如何向已作为子进程打开的 CLI 发送命令?