为什么运行stratum挖矿代理时出现“ImportError: Twisted需要zope.interface 3.6.0或更高版本。”?

4 投票
1 回答
3014 浏览
提问于 2025-04-18 02:00

运行“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 就成功运行了。希望能帮到你。

撰写回答