使用Spacepy拒绝模块导入权限

时间:2017-05-20 16:46:27

标签: python permissions anaconda python-import

我需要Spacepy包。我按照these说明仔细安装了它,没有特别的问题。在安装结束时,我做了:

python
>>> import spacepy

它运作得很好。后来我尝试运行一个使用spacepy的脚本,我在这个包中遇到了导入错误。然后我做了:

python
>>> import spacepy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "spacepy/__init__.py", line 329, in <module>
    _read_config(rcfile)
  File "spacepy/__init__.py", line 297, in _read_config
    _write_defaults(rcfile, defaults)
  File "spacepy/__init__.py", line 200, in _write_defaults
    f = open(rcfile, 'r+t') #Avoid race condition, open for read and write
IOError: [Errno 13] Permission denied: '/home/arnaud/.spacepy/spacepy.rc'
>>> 

我试过了:

cd ~/.spacepy
chmod +rwx spacepy.rc

但它并没有改变任何事情。我也尝试用sudo运行python,虽然我有一个不同的错误,它也不能正常工作:

sudo python
>>> import spacepy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/spacepy/__init__.py", line 131, in <module>
    from . import datamodel
  File "/usr/local/lib/python2.7/dist-packages/spacepy/datamodel.py", line 178, in <module>
    from . import toolbox
  File "/usr/local/lib/python2.7/dist-packages/spacepy/toolbox/__init__.py", line 48, in <module>
    from spacepy import time as spt
  File "/usr/local/lib/python2.7/dist-packages/spacepy/time.py", line 101, in <module>
    import dateutil.parser as dup
ImportError: No module named dateutil.parser

另外,当用sudo运行python时,我无法加载所有其他包(numpy,scipy等...)。我用anaconda安装了python 2.7。

你知道我能尝试的东西吗?

我在另一台计算机上执行了完全相同的程序,它没有问题。

1 个答案:

答案 0 :(得分:0)

我明白了。更改spacepy.rc文件权限确实是一个很好的解决方案,但我没有将它应用于所有使用&#39; a&#39;旗。这样做的:

cd ~/.spacepy
chmod a+rwx spacepy.rc

解决了问题