ImportError: Tidak ada modul bernama '_version' saat mengimpor mekanisasi

Saya menginstal mekanisasi melalui pip dan mendapatkan kesalahan ketika saya mengimpor modul:

$ 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'

File -version.py ada di direktori paket situs:

$ 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

Apa yang saya lewatkan?


person steffen    schedule 24.08.2016    source sumber
comment
Mekanisasi juga tidak didukung, gunakan permintaan   -  person Daniel Lee    schedule 24.08.2016


Jawaban (2)


Jika Anda melihat setup.py Anda akan melihat mechanize adalah Python 2.x paket:

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

Selain itu, Anda dapat melihat di mechanize/__init__.py bahwa semua impor bersifat relatif:

from _version import __version__

bukannya eksplisit:

from ._version import __version__

Dalam python 3, ini menyebabkan kesalahan impor.

Ada masalah yang dibuka untuk dukungan Py3 dan berisi daftar beberapa alternatif yang dapat Anda coba. Itu, atau porting :-).

person Dimitris Fasarakis Hilliard    schedule 24.08.2016
comment
Saya menginstal dengan pip3... di mana saya dapat menemukan setup.py? - person steffen; 24.08.2016
comment
Saya menautkan setup.py di sumber untuk mechanize. pip3 masih dapat menginstal paket python 2. Masalah spesifik Anda adalah impor relatif di sini, mechanize sepertinya menggunakan banyak di file __init__-nya. Di Python 3 Anda harus eksplisit tentang impor Anda. - person Dimitris Fasarakis Hilliard; 25.08.2016

itu tidak berhasil bagi saya, salin file _version untuk menggunakan perintah ini

cp -R __version /usr/local/lib/python3.9

untuk menentukan pak

person Nam.tv2312    schedule 26.07.2021