【问题标题】:Permission denied module importation with Spacepy权限拒绝使用 Spacepy 导入模块
【发布时间】:2017-10-20 16:07:15
【问题描述】:

我需要 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。

你知道我可以尝试什么吗?

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

【问题讨论】:

    标签: python permissions anaconda python-import


    【解决方案1】:

    我想通了。更改 spacepy.rc 文件权限确实是一个很好的解决方案,但我没有将它应用于所有带有 'a' 标志的用户。正在做:

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

    解决了问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-05
      • 2016-02-03
      • 1970-01-01
      • 1970-01-01
      • 2016-01-19
      • 2014-11-15
      • 2017-11-24
      • 1970-01-01
      相关资源
      最近更新 更多