J'obtiens une erreur dans python3 lors de l'importation de la mécanisation.
Je viens d'installer mécanize dans mon virtualenv où python3 est installé.
$ which python3
/Users/myname/.virtualenvs/python3/bin/python3
$ pip freeze
mechanize==0.2.5
Mais, lorsque j'essaie d'importer mécaniser dans mon python, j'obtiens cette erreur.
import mechanize
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-6b82e40e2c8e> in <module>()
----> 1 import mechanize
/Users/myname/.virtualenvs/python3/lib/python3.3/site-packages/mechanize/__init__.py in <module>()
117 import sys
118
--> 119 from _version import __version__
120
121 # high-level stateful browser-style interface
ImportError: No module named '_version'
Quelqu'un sait-il comment résoudre ce problème?
Je suis nouveau à python et j'ai étudié comment programmer en python ces jours-ci).
Merci d'avance pour votre aide!
mise à jour
J'ai installé mécaniser pour python . Maintenant, j'ai une autre erreur.
In [1]: import mechanize
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-6b82e40e2c8e> in <module>()
----> 1 import mechanize
/Users/myname/.virtualenvs/python3/lib/python3.3/site-packages/mechanize-0.2.6.dev_20140305-py3.3.Egg/mechanize/__init__.py in <module>()
120
121 # high-level stateful browser-style interface
--> 122 from ._mechanize import \
123 Browser, History, \
124 BrowserStateError, LinkNotFoundError, FormNotFoundError
/Users/myname/.virtualenvs/python3/lib/python3.3/site-packages/mechanize-0.2.6.dev_20140305-py3.3.Egg/mechanize/_mechanize.py in <module>()
/Users/myname/.virtualenvs/python3/lib/python3.3/site-packages/mechanize-0.2.6.dev_20140305-py3.3.Egg/mechanize/_html.py in <module>()
ImportError: cannot import name _sgmllib_copy
J'ai vérifié ce que j'ai installé dans mon virtualenv de travail. J'ai trouvé des avertissements.
$ pip freeze
cssselect==0.9.1
httplib2==0.8
ipython==1.1.0
lxml==3.2.4
## FIXME: could not find svn URL in dependency_links for this package:
mechanize==0.2.6.dev-20140305
pyquery==1.2.8
Warning: cannot find svn location for mechanize==0.2.6.dev-20140305
Hélas, mechanize ne prend pas en charge Python 3. http://wwwsearch.sourceforge.net/mechanize/faq.html
Python 2.4, 2.5, 2.6 ou 2.7. Python 3 n'est pas encore pris en charge.
Vous aimerez peut-être commenter le problème sur https://github.com/jjlee/mechanize/issues/96
Mise à jour: j'ai écrit ma propre bibliothèque d'automatisation MechanicalSoup. C'est Python 3 compatible https://github.com/hickford/MechanicalSoup
Le module MechanicalSoup a fusionné Mechanical et BeautifulSoup dans la même bibliothèque et peut être utilisé depuis Python 2.6 à 3.4.
dans l'invite de commande, installez MechanicalSoup:
pip install MechanicalSoup
Importez ensuite en python,
import mechanicalsoup # Don’t forget to import the new module
Je pense que vous avez peut-être installé la version Python 2 de mechanize, et la nouvelle sémantique d'importation Python 3 casse l'ancien code Python 2. Une recherche rapide, et il semble que le support de Python 3 pour la mécanisation soit encore un peu faible. Cependant, j'ai trouvé un branche Python .
Vous pouvez essayer d'installer manuellement à partir du code source auquel j'ai lié. Une fois que vous avez téléchargé la source, changez votre répertoire pour être dans le répertoire de mécanisation. Saisissez ensuite $python3 setup.py install
Dans le terminal.