Ich bekomme 'ImportError: Kein Modul namens Web' trotz der Tatsache, dass es installiert ist

Ich möchte eine einfache 'Hallo Welt' App ausführen. Jedes Mal, wenn ich es laufe, bekomme ich

'ImportError: No module named web' 

Ich habe web.py mit Pip und mit easy_install mehrmals installiert. Ich habe versucht, es zu deinstallieren und wieder zu installieren. Ich habe versucht, es als sudo zu installieren. Nichts scheint zu funktionieren Ich benutze OS X

Code der Bewerbung:

 import web urls = ( '/', 'index' ) app = web.application(urls, globals()) class index: def GET(self): greeting = "Hello World" return greeting if __name__ == "__main__": app.run() 

Ich habe versucht, diese App mit diesem Lob auszuführen:

 python /Users/mptorz/webversion/bin/app.py http://0.0.0.0:8080/ 

Allerdings weiß ich, dass dies keine Frage des Codes ist, denn ich bin im Grunde genommen diesen Kurs http://learnpythonthehardway.org/book/ex50.html .

Ich dachte, es könnte interessant sein Ich habe gerade mal versucht, web.py neu zu installieren und ich habe diesen Fehler:

 pc7:~ mptorz$ pip uninstall web.py Uninstalling web.py-0.40.dev0: /usr/local/lib/python2.7/site-packages/web.py-0.40.dev0-py2.7.egg Proceed (y/n)? y Exception: Traceback (most recent call last): File "/usr/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main status = self.run(options, args) File "/usr/local/lib/python2.7/site-packages/pip/commands/uninstall.py", line 76, in run requirement_set.uninstall(auto_confirm=options.yes) File "/usr/local/lib/python2.7/site-packages/pip/req/req_set.py", line 336, in uninstall req.uninstall(auto_confirm=auto_confirm) File "/usr/local/lib/python2.7/site-packages/pip/req/req_install.py", line 742, in uninstall paths_to_remove.remove(auto_confirm) File "/usr/local/lib/python2.7/site-packages/pip/req/req_uninstall.py", line 115, in remove renames(path, new_path) File "/usr/local/lib/python2.7/site-packages/pip/utils/__init__.py", line 267, in renames shutil.move(old, new) File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 300, in move rmtree(src) File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 247, in rmtree rmtree(fullname, ignore_errors, onerror) File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 252, in rmtree onerror(os.remove, fullname, sys.exc_info()) File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 250, in rmtree os.remove(fullname) OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/site-packages/web.py-0.40.dev0-py2.7.egg/EGG-INFO/dependency_links.txt' 

Ich habe versucht, das gleiche mit Sudo und ich habe diese Fehler.

 pc7:~ mptorz$ sudo pip uninstall web.py Password: The directory '/Users/mptorz/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. Uninstalling web.py-0.40.dev0: /usr/local/lib/python2.7/site-packages/web.py-0.40.dev0-py2.7.egg Proceed (y/n)? y Successfully uninstalled web.py-0.40.dev0 The directory '/Users/mptorz/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. 

Dann habe ich versucht, dies zu tun:

 pc7:~ mptorz$ sudo pip install web.py The directory '/Users/mptorz/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. The directory '/Users/mptorz/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. Collecting web.py Downloading web.py-0.38.tar.gz (91kB) 100% |████████████████████████████████| 92kB 199kB/s Installing collected packages: web.py Running setup.py install for web.py ... done Successfully installed web.py-0.38 

Wenn ich die App ausführe, bekomme ich immer noch den gleichen Fehler "ImportError: Kein Modul namens web".

Ich wurde gebeten, das Ergebnis der Python-c "print ( import ('sys') Pfad) hinzuzufügen:

 pc7:~ mptorz$ python -c "print(__import__('sys').path)" ['', '/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC', '/Library/Python/2.7/site-packages'] 

Somone auch vorgeschlagen, versuchen "python -m Pip installieren web.py" Es führte zu diesem Fehler:

 pc7:~ mptorz$ python -m pip install web.py Collecting web.py Downloading web.py-0.38.tar.gz (91kB) 100% |████████████████████████████████| 92kB 215kB/s Installing collected packages: web.py Running setup.py install for web.py ... error Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/w6/f08g43wn1zg6ny5b_lq414cr0000gn/T/pip-build-pn7SCD/web.py/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/w6/f08g43wn1zg6ny5b_lq414cr0000gn/T/pip-tBblX5-record/install-record.txt --single-version-externally-managed --compile: running install running build running build_py creating build creating build/lib creating build/lib/web copying web/__init__.py -> build/lib/web copying web/application.py -> build/lib/web copying web/browser.py -> build/lib/web copying web/db.py -> build/lib/web copying web/debugerror.py -> build/lib/web copying web/form.py -> build/lib/web copying web/http.py -> build/lib/web copying web/httpserver.py -> build/lib/web copying web/net.py -> build/lib/web copying web/python23.py -> build/lib/web copying web/session.py -> build/lib/web copying web/template.py -> build/lib/web copying web/test.py -> build/lib/web copying web/utils.py -> build/lib/web copying web/webapi.py -> build/lib/web copying web/webopenid.py -> build/lib/web copying web/wsgi.py -> build/lib/web creating build/lib/web/wsgiserver copying web/wsgiserver/__init__.py -> build/lib/web/wsgiserver copying web/wsgiserver/ssl_builtin.py -> build/lib/web/wsgiserver copying web/wsgiserver/ssl_pyopenssl.py -> build/lib/web/wsgiserver creating build/lib/web/contrib copying web/contrib/__init__.py -> build/lib/web/contrib copying web/contrib/template.py -> build/lib/web/contrib running install_lib creating /Library/Python/2.7/site-packages/web error: could not create '/Library/Python/2.7/site-packages/web': Permission denied ---------------------------------------- Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/w6/f08g43wn1zg6ny5b_lq414cr0000gn/T/pip-build-pn7SCD/web.py/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/w6/f08g43wn1zg6ny5b_lq414cr0000gn/T/pip-tBblX5-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/w6/f08g43wn1zg6ny5b_lq414cr0000gn/T/pip-build-pn7SCD/web.py/ 

Nachdem ich alles getan hatte, wurde ich hier beraten, ich habe versucht, die App wieder zu rennen und ich habe das:

 pc7:~ mptorz$ python /Users/mptorz/webversion/bin/app.py http://0.0.0.0:8080/ Traceback (most recent call last): File "/Users/mptorz/webversion/bin/app.py", line 15, in <module> app.run() File "/Library/Python/2.7/site-packages/web/application.py", line 313, in run return wsgi.runwsgi(self.wsgifunc(*middleware)) File "/Library/Python/2.7/site-packages/web/wsgi.py", line 55, in runwsgi server_addr = validip(listget(sys.argv, 1, '')) File "/Library/Python/2.7/site-packages/web/net.py", line 125, in validip port = int(port) ValueError: invalid literal for int() with base 10: '//0.0.0.0:8080/' 

Ich habe gerade die von @PhilipTzou vorgeschlagene Home-Brew-Lösung ausprobiert. Nachdem ich das gemacht habe, ist die Ausgabe der App:

 pc7:~ mptorz$ python /Users/mptorz/webversion/bin/app.py http://0.0.0.0:8080/ Traceback (most recent call last): File "/Users/mptorz/webversion/bin/app.py", line 1, in <module> import web File "/usr/local/lib/python2.7/site-packages/web/__init__.py", line 14, in <module> import utils, db, net, wsgi, http, webapi, httpserver, debugerror File "/usr/local/lib/python2.7/site-packages/web/wsgi.py", line 8, in <module> import http File "/usr/local/lib/python2.7/site-packages/web/http.py", line 16, in <module> import net, utils, webapi as web File "/usr/local/lib/python2.7/site-packages/web/webapi.py", line 31, in <module> import sys, cgi, Cookie, pprint, urlparse, urllib File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/cgi.py", line 50, in <module> import mimetools File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/mimetools.py", line 6, in <module> import tempfile File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py", line 32, in <module> import io as _io File "/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/io.py", line 51, in <module> import _io ImportError: dlopen(/usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder Referenced from: /usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so Expected in: flat namespace in /usr/local/Cellar/python/2.7.12/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so 

LÖSUNG Endlich funktionierte es. Nach dem Ausführen der Lösung von @PhilipTzou vorgeschlagen und Eingabe python /Users/mptorz/webversion/bin/app.py 8080 app.py ist endlich funktioniert und ich kann meinen Python-Kurs fortsetzen. Vielen Dank für Ihre Hilfe 🙂

One Solution collect form web for “Ich bekomme 'ImportError: Kein Modul namens Web' trotz der Tatsache, dass es installiert ist”

Entsprechend der Ausgabe deines sys.path , vermutlich vermutlich OSX Python, um dein Skript ( app.py ) zu laufen, aber mit Homebrew Python, um PIP-Befehl auszuführen. Die Lösung ist ganz einfach:

 brew link --overwrite python 

Dies wird Ihre Standard-Python zu Homebrew ändern . Nach dem Ausführen dieses Befehls können Sie überprüfen, ob Sie Homebrew Python verwenden, indem Sie diesen Befehl eingeben:

 which -a python 

Das Ergebnis sollte so sein (Sequenz sagt):

 /usr/local/bin/python /usr/bin/python 
  • Wie man webbasierte python interaktive Shell macht
  • Wie man AttributeError in Robobrowser entfernt
  • Django: Dynamic Apps als Plugin hinzufügen, URLs und andere Einstellungen automatisch erstellen
  • HTTP-Fehler 403 in Python 3 Web Scraping
  • Alternativen zu Selenium / Webdriver zum Ausfüllen von Feldern beim kratzfädeln mit Python?
  • Wie kratzt man URL-Daten von der Intranetseite mit Python?
  • Kann nicht auf Link mit Selen-Webdriver in Python klicken
  • Kratzen von Google Finance (BeautifulSoup)
  • Beitrag zum Tornado Server
  • Wie kann ich den richtigen XPath bestimmen?
  • Flasche: Wie man statische html bedient?
  • Python ist die beste Programmiersprache der Welt.