pycharmカスタムモジュールインポートプロンプトno module name

3628 ワード

pycharmカスタムモジュールインポートプロンプトno module named
リファレンスリンクhttp://blog.csdn.net/pwc1996/article/details/52577148
問題の説明
pycharmのterminalインタフェースでスクリプトを実行するときに、ヒント:
ImportError: No module named '*******'

しかしpycharmで直接ファイルを実行することは可能で、エラーは報告されません.
原因はpycharmとpython 3である.5デフォルトのモジュールインポートディレクトリが異なります.
  • システムデフォルトpath
  • >>> import sys
    >>> sys.path
    ['', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python35.zip', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages']
  • pycharmにファイルtestを作成します.py
  • import sys
    print(sys.path)

    出力結果:
    ['/Users/citizen_wang/Documents/PycharmProject/learnpython', '/Users/citizen_wang/Documents/PycharmProject/learnpython', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python35.zip', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages']

    両者を比較するとPycharmProjectのデフォルトパスが見つかり、Projectディレクトリが含まれます.pycharmで実行できる理由も説明されますが、terminal端末ではno module nameのエラーがパッケージされます.
    解決策
    site-packagesファイルにPycharmファイルパスを追加します.
    cd /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages
  • site-packagesはpythonのデフォルトのモジュールディレクトリ
  • です.
    vim pycharm.pth
    #   pycharmproject              。
    /Users/citizen_wang/Documents/PycharmProject/

    テスト
    pycharm 导入自定义模块提示 no module name_第1张图片例えばitemsにインポートするCnblogspiderItem
    from learnpython.cnblogSpider.cnblogSpider.items import CnblogspiderItem

    成功しましたが、ちょっと変な感じがします.
    お客様にはもっと良い方法がありますし、コメントもお願いします.感謝に堪えません.