由于 python 'ImportError',DataStax OpsCenter 5.1.0 无法启动
DataStax OpsCenter 5.1.0 fails to start due to python 'ImportError'
尝试通过 运行 ./opscenter 在 Ubuntu 14.04 64 位上启动 OpsCenter 5.1.0 的 tarball 安装 /opt/opscenter-5.1.0/bin 失败并出现以下错误:
Traceback (most recent call last):
File "./bin/twistd", line 28, in <module>
from twisted.scripts.twistd import run
ImportError: cannot import name run
我的python版本是2.7.6:
$ python --version
Python 2.7.6
并尝试导入扭曲的结果:
$ python -c "import twisted; print twisted"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named twisted
opscenter 中的 PYTHONPATH 值如下所示:
PYTHONPATH: ./src:/usr/lib/python2.7/site-packages:./src/lib/python2.7/site-packages:./lib/python2.7/site-packages:./lib/py:./lib/py-debian/2.7/amd64::
这里出了什么问题,有人可以向 Python 新手推荐一个值得尝试的解决方法吗?
问题是由于捆绑的 python 库之间缺少符号链接。特别是,在 /lib/py-debian/2.7/amd64/twisted 中,指向文件 _version.py、plugin.py、init 的 py-unpure 目录内容的符号链接.py 和 copyright.py 丢失了。
最初,我使用 gradle 从 tar 树中提取的副本来提取存档,这导致缺少符号链接。使用 tar -xzf 解决了问题,并且 opscenter star 按预期启动。
尝试通过 运行 ./opscenter 在 Ubuntu 14.04 64 位上启动 OpsCenter 5.1.0 的 tarball 安装 /opt/opscenter-5.1.0/bin 失败并出现以下错误:
Traceback (most recent call last):
File "./bin/twistd", line 28, in <module>
from twisted.scripts.twistd import run
ImportError: cannot import name run
我的python版本是2.7.6:
$ python --version
Python 2.7.6
并尝试导入扭曲的结果:
$ python -c "import twisted; print twisted"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named twisted
opscenter 中的 PYTHONPATH 值如下所示:
PYTHONPATH: ./src:/usr/lib/python2.7/site-packages:./src/lib/python2.7/site-packages:./lib/python2.7/site-packages:./lib/py:./lib/py-debian/2.7/amd64::
这里出了什么问题,有人可以向 Python 新手推荐一个值得尝试的解决方法吗?
问题是由于捆绑的 python 库之间缺少符号链接。特别是,在 /lib/py-debian/2.7/amd64/twisted 中,指向文件 _version.py、plugin.py、init 的 py-unpure 目录内容的符号链接.py 和 copyright.py 丢失了。
最初,我使用 gradle 从 tar 树中提取的副本来提取存档,这导致缺少符号链接。使用 tar -xzf 解决了问题,并且 opscenter star 按预期启动。