2016-08-19 6 views
0

シンプルな「Hello world」アプリケーションを実行したいと思います。私が実行するたびにインストールされているにもかかわらず、「ImportError:webというモジュールがありません」というメッセージが表示される

'ImportError: No module named web' 

私はpipを使って、easy_installを何度か使ってweb.pyをインストールしました。私はそれをアンインストールして、もう一度インストールしようとしました。 sudoとしてインストールしようとしました。何も動作していないようです。 、

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

私は、これはコードの問題ではないことを知っているしかし、私はこの賞賛を使用してこのアプリケーションを実行しようとした

import web 

urls = (
    '/', 'index' 
) 

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

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

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

:私は、アプリケーションの

コードOS Xを使用します私は基本的にこのコースをやっているから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:いいえモジュールという名前のWeb」を取得します。

私は、Pythonの-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のは、また、ウェブをインストールするのpython -mピップ」しようと提案しました。 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/ 

私はここに助言されたすべてをやった後、私は再びアプリケーションを実行しようと、私はこれを持っている:

@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 

SOLUTION最後に、それが働きました。 @PhilipTzouで提案されている解決策を実行してpython /Users/mptorz/webversion/bin/app.py 8080と入力したところ、最終的にapp.pyが動作しています。私はPythonコースを続けることができます。

+0

こんにちはサイトへようこそ。このコマンドを実行した後、あなたは、このコマンドを入力して、自作のPythonを使っていることを確認することができますエラーメッセージの横に、使用しているコードを質問に追加してください。最良の場合、問題を解決するためにコードを他の人が複製できるものでなければなりません。 – Jeff

+0

私はコードを追加しました。申し訳ありませんが、私はそれをしませんでしたが、これは文字通り私の最初の投稿です:) –

+0

'' python -c "p​​rint(__ import __( 'sys')。))' 'を試して、ここに結果を貼り付けてください。 –

答えて

1

sys.pathの出力によれば、おそらくOSX Pythonを使用してスクリプト(app.py)を実行していますが、Homebrew 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 /' ' Pythonを上書きしようとする前に既にそのエラーを返していました。元の投稿への完全な出力。 –

関連する問題