为什么运行stratum挖矿代理时出现“ImportError: Twisted需要zope.interface 3.6.0或更高版本。”?
运行“sudo python ./mining_proxy.py”时,返回的全部内容是:
Traceback (most recent call last):
File "./mining_proxy.py", line 67, in <module>
from twisted.internet import reactor, defer
File "/Library/Python/2.7/site-packages/Twisted-13.2.0-py2.7-macosx-10.8-intel.egg/twisted/__init__.py", line 53, in <module>
_checkRequirements()
File "/Library/Python/2.7/site-packages/Twisted-13.2.0-py2.7-macosx-10.8-intel.egg/twisted/__init__.py", line 51, in _checkRequirements
raise ImportError(required + ".")
ImportError: Twisted requires zope.interface 3.6.0 or later.
这让我觉得 zope.interface 可能没有安装。所以我尝试去安装它:
sudo easy_install zope.interface
Searching for zope.interface
Best match: zope.interface 4.1.1
Processing zope.interface-4.1.1-py2.7-macosx-10.8-intel.egg
zope.interface 4.1.1 is already the active version in easy-install.pth
Using /Library/Python/2.7/site-packages/zope.interface-4.1.1-py2.7-macosx-10.8-intel.egg
Processing dependencies for zope.interface
Finished processing dependencies for zope.interface
我还发现了 这个帖子,里面说你基本上需要在文件夹里放一个 init.py 文件。所以我就这样做了:
sudo touch /usr/local/lib/python2.7/site-packages/zope.interface-4.1.1/__init__.py
我再次尝试运行 mining proxy,结果还是同样的错误。请帮帮我。
1 个回答
1
我也遇到了同样的错误。
我在网上查了一下,发现触发的地方应该换个位置:
sudo touch /usr/local/lib/python2.7/site-packages/zope/__init__.py
不过这样还是不行。
我最后是用虚拟环境(virtualenv)解决的这个问题。
具体步骤如下:
pip install virtualenv virtualenvwrapper
mkvirtual stratum-proxy
pip install https://github.com/slush0/stratum-mining-proxy.git
pip install zope2
按照这些步骤操作后,虚拟环境里的 stratum-proxy 就成功运行了。希望能帮到你。