2016-08-19 6 views
0

간단한 'Hello world'앱을 실행하고 싶습니다. 내가 실행할 때마다설치되어 있다는 사실에도 불구하고 'ImportError : No web named module'이 나타납니다.

'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를 다시 설치를 다시 시도하고이 오류를 가지고있다 : 나는 sudo를 함께 같은 일을 시도하고 나는이 오류가 발생했습니다

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' 

.

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를 : 없음 모듈라는 이름의 웹'을 얻는다.

나는 파이썬 -c "인쇄 (. 수입 ('SYS') 경로)"의 결과를 추가하도록 요청 받았다 :

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에 또한 웹을 설치 파이썬 -m PIP "시도 제안했다. "평 그것은이 오류가 발생했습니다 :

:

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/ 

모든 것을 내가 다시 응용 프로그램을 실행 시도, 여기에 조언하고 있었고, 난 이것을 가지고 일을 한 후

@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 8080을 입력 한 후 app.py가 마침내 작동하고 Python 과정을 계속 진행할 수 있습니다. 당신의 sys.path의 출력에 따라 당신의 도움 :)

+0

안녕에 오신 것을 환영합니다. 오류 메시지 옆에 질문에 사용하는 코드를 추가하십시오. 최선의 경우 코드는 다른 사람들이 문제를 해결하는 데 도움이되도록 복제 할 수 있어야합니다. – Jeff

+0

방금 ​​코드를 추가했습니다. 죄송하지만 내가하지 않았지만 문자 그대로 내 첫 번째 게시물입니다 :) –

+0

'python -c "print (__ import __ ('sys'). 경로)''를 시도하고 여기에 결과를 붙여 넣으십시오. –

답변

1

에 대한 여러분 모두 감사합니다, 당신은 아마 스크립트 (app.py)를 실행하는 OSX Python을 사용하지만 PIP 명령을 실행하는 데 브루 파이썬을 사용하고 있습니다. 해결책은 아주 간단합니다 :

brew link --overwrite python 

이 것 change your default Python to Homebrew one.이 명령을 실행 한 후에는이 명령을 입력하여 당신은 브루 파이썬을 사용하는 확인할 수 있습니다

which -a python 

결과는이 (순서 문제)처럼한다 : 사이트에

/usr/local/bin/python 
/usr/bin/python 
+0

감사합니다. 나는 방금 그렇게했습니다. '/ usr/local/bin/python /usr/bin/python' 올바른 결과를 얻고 있습니다. 불행히도, app.py는 여전히 실행되지 않습니다. 원본 게시물에 출력을 붙여 넣었습니다. –

+0

음 ... 다른 bash 창을 열고 다시 실행하십시오. 그것은 bash 캐시 (http://stackoverflow.com/a/34861280/2644759)와 관련이 있습니다. –

+0

불행히도 이제 ValueError : 밑이 10 인 int()에 대한 리터럴이 잘못되었습니다. '//0.0.0.0 : 8080 /'' 파이썬을 덮어 쓰려고 시도하기 전에 이미 오류가 반환되었으므로 이미 원래 게시물에 전체 출력. –