24

/ home / myself / worksheet / Project1にプロジェクトがあり、セットアップしたPython2.7.3VirtualenvからSDKを作成しました。
このプロジェクトでは、アクセス可能なディレクトリにある外部コード(/ home / myself / LIBRARYなど)を使用します。このディレクトリには、コード、ドキュメントなどを含むいくつかのディレクトリが含まれています
。たとえば、/ home / myself / LIBRARY / mymodule/important_util.pyにモジュール「important_util」があります。

ここで、ディレクトリ/ home / myself / LIBRARY全体をSDKクラスパスに追加しましたが、エディターウィンドウでは問題なく表示されます。インポートと呼び出しが認識され、LIBRARYディレクトリのコードをナビゲートすることもできます。

問題は、プログラムを実行しようとすると、LIBRARYを使用した最初のインポートで失敗することです!!!

Traceback (most recent call last):
   File "/home/myself/workspace/Project1/my_program.py", line 10, in <module>
      from mymodule import important_util as ut 
      ImportError: No module named mymodule

また、同じディレクトリを[ソース]セクションの[グローバルライブラリ]セクションに追加しようとしましたが、うまくいきませんでした。

このコードをRunクラスパスに追加する方法が見つからないようですが、どうすればこれを実行できますか?

4

3 に答える 3

17

ディレクトリ__init__.pyにあることを確認してください:mymodule

これらの__init__.pyファイルは、Pythonがディレクトリをパッケージを含むものとして扱うようにするために必要です。これは、文字列などの一般的な名前のディレクトリが、後でモジュール検索パスで発生する有効なモジュールを意図せずに非表示にするのを防ぐために行われます。最も単純なケースで__init__.pyは、は空のファイルにすることができますが、パッケージの初期化コードを実行したり__all__ 、後で説明する変数を設定したりすることもできます。©

更新:IntelliJ IDEAでは、Python SDKのタブではなく、モジュールLibrariesの依存関係として追加のディレクトリを追加するか、(依存関係に追加する)として構成する必要があります。Classpath

依存関係

このフォルダ(D:\dev\lib)がに追加され、PYTHONPATHインポートが機能することを確認しました。

于 2012-12-23T21:27:14.693 に答える
12

IntelliJ 14では少し異なります。あなたは次のようなモジュール/卵です:

  • [ファイル]->[プロジェクト構造]に移動します
  • 次に、[モジュール]、[依存関係]タブの順に選択します
  • 「+」アイコンをクリックして「ライブラリ」を選択します
  • 「新しいライブラリ」をクリックして、Javaを選択します(奇妙なことはわかっています...)
  • 次に、複数のモジュール/卵を選択して「OK」を選択します。
  • カテゴリから「クラス」を選択します。
  • 新しいライブラリに「JavaライブラリではなくMyPython」という名前を付けます
  • そして最後に「選択項目を追加」をクリックします
于 2015-04-22T17:05:00.587 に答える
1

2017.1のバージョンから、追加が再度変更されました。ファイルメニューにプロジェクト構造はありません。現在の手順を書き留めます:

  1. [設定/設定]に移動します。[ファイル]->[設定]([IDE名]-> [macOSの設定])

  2. ビルド、実行、デプロイを選択します

ここに画像の説明を入力してください

  1. Pythonインタープリターを選択

  2. プロジェクトインタプリタのドロップダウンメニューで選択し、プロジェクトに必要なPythonのバージョンのパスのパスを選択します。

ここに画像の説明を入力してください

  1. [適用]をクリックし、数分待ってIntelliJにPythonパッケージのインデックスを作成させます。

これですべてのエラーがなくなり、プロジェクトで使用されているPythonが外部ライブラリのリストに表示されるはずです。

ここに画像の説明を入力してください

ハッピーコーディング。

于 2017-08-17T12:47:09.690 に答える