我最近将我的 python 代码升级到了 Python 3.4.2。我运行的是 Ubuntu 14.10。
我使用了 pip3 和 apt-get python3- 的组合来升级我所有常用的模块:numpy、scipy、astropy、ipython、matplotlib。
导入所有这些模块通常效果很好。 Ipython 运行,列出正确的 python 版本号等。 Numpy.version.version 也给了我正确的版本号。
我的问题是,在一个特定文件夹中,import astropy
抛出一个 AttributeError: 'str' object has no attribute 'decode'
in/usr/local/lib/python3.4/dist-packages/astropy/version.py。
在所有其他文件夹中,导入 astropy 工作正常...什么给出了? 解码错误似乎指向 python2/python3 兼容性问题。 该文件夹中一定存在某种环境变量问题,或者该文件夹中存在冲突的文件?但似乎无法确定原因..
最佳答案
这是一个已知问题:https://github.com/astropy/astropy/issues/3475
如果你碰巧在一个空的 git 存储库中(或者你的 git 损坏了),就会发生这种情况。应该很快就会发布一个新版本,并提供解决方法。
后续,这个问题应该在 Astropy v0.4.5 中得到解决:https://pypi.python.org/pypi/astropy/0.4.5
关于Python 3 只能在某些文件夹中导入 astropy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28425363/