我通过 pip 安装 mechanize 并在导入模块时收到错误:
$ python
Python 3.5.2 (default, Jun 28 2016, 08:46:01)
[GCC 6.1.1 20160602] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mechanize
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.5/site-packages/mechanize/__init__.py", line 119, in <module>
from _version import __version__
ImportError: No module named '_version'
文件-version.py
存在于 site-packages 目录中:
$ ls /usr/lib/python3.5/site-packages/mechanize
_auth.py __init__.py _response.py
_beautifulsoup.py _lwpcookiejar.py _rfc3986.py
_clientcookie.py _markupbase.py _sgmllib_copy.py
_debug.py _mechanize.py _sockettimeout.py
_firefox3cookiejar.py _mozillacookiejar.py _testcase.py
_form.py _msiecookiejar.py _urllib2_fork.py
_gzip.py _opener.py _urllib2.py
_headersutil.py _pullparser.py _useragent.py
_html.py __pycache__ _util.py
_http.py _request.py _version.py
我缺少什么?
如果你看setup.py https://github.com/jjlee/mechanize/blob/master/setup.py#L38你会看到的mechanize
is a Python 2.x
包裹:
Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 2.4
Programming Language :: Python :: 2.5
Programming Language :: Python :: 2.6
Programming Language :: Python :: 2.7
除此之外,你还可以看到mechanize/__init__.py
所有导入都是相对的:
from _version import __version__
而不是明确的:
from ._version import __version__
在 python 3 中,这会导致导入错误。 https://stackoverflow.com/questions/12172791/changes-in-import-statement-python3
有一个issue https://github.com/jjlee/mechanize/issues/96开放于Py3
支持并列出了一些您可以尝试的替代方案。那,或者移植它:-)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)