尽管安装了它,但我仍然收到“ ImportError:没有名为web的模块”

我想运行一个简单的“ Hello world”应用程序。每次运行它我都会得到

'ImportError: No module named web'

我使用pip和easy_install多次安装了web.py。我尝试卸载它并重新安装。我尝试将其安装为sudo。似乎没有任何作用。我使用OS X

申请代码:

import web

urls = (
  '/', 'index'
)

app = web.application(urls, globals())

class index:
    def GET(self):
        greeting = "Hello World"
        return greeting

if __name__ == "__main__":
    app.run()

我尝试使用以下命令运行此应用程序:

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

但是我知道这不是代码的问题,因为我基本上是在做这门课程http://learnpythonthehardway.org/book/ex50.html

我认为这可能很有趣。我刚刚再次尝试重新安装web.py,但出现此错误:

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' 

我尝试使用sudo进行相同操作,但出现此错误。

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.

然后我尝试这样做:

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

当我运行该应用程序时,我仍然收到相同的错误“ ImportError:没有名为web的模块”。

我被要求添加python -c“ print(import('sys')。path)”的结果:

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还建议尝试“ python -m pip install web.py”,从而导致此错误:

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/

完成所有建议后,我尝试再次运行该应用程序,并且得到了以下信息:

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

我刚刚尝试了@PhilipTzou建议的自制解决方案。完成后,运行该应用程序的输出为:

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

解决方案最后,它起作用了。运行@PhilipTzou建议的解决方案并输入python /Users/mptorz/webversion/bin/app.py 8080app.py后,终于可以运行了,我可以继续我的python课程。谢谢大家的帮助 :)

菲利普·邹

根据您的输出sys.path,您可能使用OSX Python运行脚本(app.py),但使用Homebrew Python执行PIP命令。解决方案非常简单:

brew link --overwrite python

这会将您的默认Python更改为Homebrew one执行此命令后,您可以通过键入以下命令来验证您是否正在使用Homebrew Python:

which -a python

结果应该是这样的(顺序很重要):

/usr/local/bin/python
/usr/bin/python

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Anaconda安装后,conda命令失败,并显示“ ImportError:没有名为conda.cli的模块”

来自分类Dev

ImportError:尝试安装软件包时,没有名为pip的模块

来自分类Dev

Vim显示:ImportError:没有名为站点的模块。当我使用Canopy1.1时

来自分类Dev

即使在安装后也出现““ ImportError:没有名为httplib2的模块”

来自分类Dev

ImportError:安装后没有名为psycopg2的模块

来自分类Dev

安装scipy软件包后,出现“ ImportError:没有名为scipy的模块”

来自分类Dev

ImportError:导入我自己的子软件包时,没有名为“”的模块

来自分类Dev

为什么我收到python ImportError:没有名为html_parser的模块?

来自分类Dev

ImportError:没有名为lxml的模块-即使已安装LXML

来自分类Dev

ImportError:没有名为mpmath的模块。但是mpmath已安装。怎么了?

来自分类Dev

ImportError:安装python-opencv后没有名为opencv的模块

来自分类Dev

ImportError:在Anaconda中安装astropy后,没有名为astropy的模块

来自分类Dev

ImportError:没有名为numpy.distutils.core的模块(Ubuntu xgboost安装)

来自分类Dev

Spyder无法识别我的库,ImportError:没有名为“ numdifftools”的模块

来自分类Dev

ImportError:没有名为south.v2的模块,但我不使用south

来自分类Dev

为什么会收到“ ImportError:没有名为线程的模块”消息?

来自分类Dev

ImportError:安装pip时没有名为urllib3的模块

来自分类Dev

安装:Reportlab:“ ImportError:没有名为reportlab.lib的模块”

来自分类Dev

尽管安装了torch vision pytorch库,但我收到一个错误消息,说没有名为torch vision的模块

来自分类Dev

ImportError:没有名为请求的模块:但已安装

来自分类Dev

Heroku requirements.txt依赖项未安装,返回ImportError:没有名为selenium的模块

来自分类Dev

即使安装了networkx,它仍然会引发ModuleNotFoundError:没有名为“ networkx”的模块

来自分类Dev

Python无法识别Django安装。(ImportError:没有名为django的模块)

来自分类Dev

ImportError:没有名为mechanize的模块-XCode 6.1没有看到新安装的python库

来自分类Dev

ImportError:安装setuptools时没有名为“ _struct”的模块

来自分类Dev

ImportError:没有名为mpmath的模块。但是已经安装了mpmath。怎么了?

来自分类Dev

为什么会收到“ ImportError:没有名为线程的模块”消息?

来自分类Dev

MacOS ImportError上的Spark安装和配置:没有名为pyspark的模块

来自分类Dev

pip 安装:ImportError:没有名为 cliggle.cli 的模块

Related 相关文章

  1. 1

    Anaconda安装后,conda命令失败,并显示“ ImportError:没有名为conda.cli的模块”

  2. 2

    ImportError:尝试安装软件包时,没有名为pip的模块

  3. 3

    Vim显示:ImportError:没有名为站点的模块。当我使用Canopy1.1时

  4. 4

    即使在安装后也出现““ ImportError:没有名为httplib2的模块”

  5. 5

    ImportError:安装后没有名为psycopg2的模块

  6. 6

    安装scipy软件包后,出现“ ImportError:没有名为scipy的模块”

  7. 7

    ImportError:导入我自己的子软件包时,没有名为“”的模块

  8. 8

    为什么我收到python ImportError:没有名为html_parser的模块?

  9. 9

    ImportError:没有名为lxml的模块-即使已安装LXML

  10. 10

    ImportError:没有名为mpmath的模块。但是mpmath已安装。怎么了?

  11. 11

    ImportError:安装python-opencv后没有名为opencv的模块

  12. 12

    ImportError:在Anaconda中安装astropy后,没有名为astropy的模块

  13. 13

    ImportError:没有名为numpy.distutils.core的模块(Ubuntu xgboost安装)

  14. 14

    Spyder无法识别我的库,ImportError:没有名为“ numdifftools”的模块

  15. 15

    ImportError:没有名为south.v2的模块,但我不使用south

  16. 16

    为什么会收到“ ImportError:没有名为线程的模块”消息?

  17. 17

    ImportError:安装pip时没有名为urllib3的模块

  18. 18

    安装:Reportlab:“ ImportError:没有名为reportlab.lib的模块”

  19. 19

    尽管安装了torch vision pytorch库,但我收到一个错误消息,说没有名为torch vision的模块

  20. 20

    ImportError:没有名为请求的模块:但已安装

  21. 21

    Heroku requirements.txt依赖项未安装,返回ImportError:没有名为selenium的模块

  22. 22

    即使安装了networkx,它仍然会引发ModuleNotFoundError:没有名为“ networkx”的模块

  23. 23

    Python无法识别Django安装。(ImportError:没有名为django的模块)

  24. 24

    ImportError:没有名为mechanize的模块-XCode 6.1没有看到新安装的python库

  25. 25

    ImportError:安装setuptools时没有名为“ _struct”的模块

  26. 26

    ImportError:没有名为mpmath的模块。但是已经安装了mpmath。怎么了?

  27. 27

    为什么会收到“ ImportError:没有名为线程的模块”消息?

  28. 28

    MacOS ImportError上的Spark安装和配置:没有名为pyspark的模块

  29. 29

    pip 安装:ImportError:没有名为 cliggle.cli 的模块

热门标签

归档