110

私はPyDevとPythonに非常に慣れていませんが、Java用のEclipseをたくさん使用しています。Dive Into Pythonの例をいくつか試していますが、これは非常に些細な問題のように感じられ、非常に煩わしくなりつつあります。UbuntuLinux10.04を使用しています。

ディレクトリにあるodbchelper.pyファイルを使用できるようにしたい/Desktop/Python_Tutorials/diveintopython/py

PyDev/Eclipseプロジェクトで作業しているexample.pyファイルは次のとおりです。

import sys
sys.path.append("~/Desktop/Python_Tutorials/diveintopython/py")

これは正常に機能しますが、コードの次の行を次のようにします。

import odbchelper

これにより、毎回未解決のインポートエラーが発生します。可能な限りほぼすべてのディレクトリにファイルを追加しまし__init__.pyたが、何の役にも立ちません。__init__.pyプロジェクトの場所とodbchelper.pyファイルの間のさまざまなレベルのディレクトリに一度に1つずつファイルを追加しようとしました。また、その間にあるすべてのディレクトリにファイルを同時に追加しようとしました__init__.py。どちらも機能しません。

私がやりたいのは、他のディレクトリのどこかにプロジェクトがあることです。たとえば/Desktop/MyStuff/Project、example.pyがあり、example.pyからodbchelper.pyをインポートします。/Desktop/Python_Tutorials/diveintopython/py/

関数を使用してこのディレクトリをパスに追加し、それをインポートするように言っているだけのメッセージボードの応答を見つけることができますsys.path.append()...しかし、それはまさに私のコードで行っていることであり、機能していません。

Ctrlエラーメッセージを抑制するために--トリックも試しました1が、プログラムはまだ正しく機能していません。エラーが発生しますImportError: No module named odbchelper。したがって、明らかにパスが追加されていないか、__init__.pyファイルを追加するための私の多くの順列のすべてが見落とされているという問題があります。

これほど単純なもの...私のマシンのどこかに存在するファイルから物事を呼び出す...これだけの労力が必要になるのは非常に苛立たしいことです。

4

11 に答える 11

137

pydevプロジェクトのプロパティには、「PyDev --PYTHONPATH」というペインと、「ExternalLibraries」というサブペインがあります。__init__.pyそのペインを使用して、パスにソースフォルダー(を含む任意のフォルダー)を追加できます。これで、プロジェクトコードは、これらのソースフォルダーからモジュールをインポートできるようになります。

于 2011-01-08T02:26:19.563 に答える
53

私はEclipseKepler4.3、PyDev 3.9.2を使用していますが、ubuntu14.04でも同じ問題が発生しました。私は何時間も試して過ごしましたが、上記のほとんどのオプションは無駄でした。それから私は素晴らしいものを次のように試しました:

  • [プロジェクト]->[右クリック]->[ PyDev ] ->[ PyDevプロジェクト構成の削除]を選択します
  • ファイル->再起動

インタプリタとしてPython2.7を使用していましたが、効果はないと思います。

于 2015-03-30T16:07:52.320 に答える
42

WXWindowsプロジェクトをPython2.7にアップグレードしたところ、Pydevに新しいインタープリターを認識させるのに問題はありませんでした。上記と同じようにインタープリターを構成し、EclipseとPydevを新規インストールしました。Pythonの一部が壊れているに違いないと思ったので、すべてを再インストールしました。ああ!プロジェクトを閉じて再度開き、これらすべての変更の間にEclipseを再起動しました。

最後に、プロジェクトを右クリックすることで「PyDevプロジェクト構成を削除」できることに気づきました。その後、再びPyDevプロジェクトにすることができ、今ではゴールドとして優れています。

于 2011-06-01T11:54:34.967 に答える
18

pythonpathを修正し、コンソールからインポートしたときにすべてがダンディでしたが、eclipseを再起動したり、プロジェクトを更新/クリーンアップしたりした回数に関係なく、以前に解決されなかったこれらのインポートはすべて、コードでエラーとしてマークされていました。

プロジェクト->Pydev->エラーマーカーの削除を右クリックすると、その問題が解消されました。コードに実際のエラーが含まれている場合は、再度マークが付けられますので、ご安心ください。

于 2012-12-04T18:38:59.673 に答える
12

プロジェクト->プロパティ->pydev-pythonpath->外部ライブラリ->ソースフォルダを追加し、プロジェクトの親フォルダを追加します。次に、Eclipseを再起動します。

于 2014-03-25T06:44:28.260 に答える
5

これが私のために働いたものです(soulBitによって提案されました):

1) Restart using restart from the file menu
2) Once it started again, manually close and open it.

これはこれまでで最も簡単な解決策であり、煩わしいことを完全に取り除きます。

于 2014-06-13T02:43:31.600 に答える
1

この問題を解決するには、次の2つの方法があります。

  • 「Pythonインタープリター」からPythonインタープリターを削除し、再度追加します。
  • または、プロジェクトで使用しているインタープリターにライブラリを含むフォルダーを追加します。私の場合は「bottle」を使用しており、追加したフォルダーは「c:\ Python33 \ Lib \ site-packages\bottle-0.11.6」でした。 -py3.3.egg "

これでエラーは表示されなくなり、コード補完機能は「ボトル」でも機能します。

于 2013-07-05T07:04:07.617 に答える
1

Eclipse 4.2.0(Juno)とPyDev 2.8.1を実行していますが、サイトパッケージパスにインストールされたlibでこの問題が発生しました。このSOの質問によると:

Pydevおよび*.pycファイル

...PyDevファイルとpycファイルに問題があります。私が参照しようとした特定のlibの場合、配信されるのはpycファイルだけです。

これに対処するために私がしたことは次のとおりです。

  1. https://github.com/Mysterie/uncompyle2からuncompyle2をインストールします
  2. site-packageslibの*.pycファイルに対してuncompyle2を実行します。例:

    uncompyle2 -r -o / tmp / path / to / site-packages / lib

  3. uncompyle2から生成された結果の*.pyc_disファイルの名前を*.pyに変更します
  4. これらの*.pyファイルをsite-packagesパスに移動/コピーします
  5. Eclipseで、[ファイル]>[再起動]を選択します

.pycファイルに関連する未解決のインポートエラーが消えるはずです。

于 2013-09-03T14:41:00.627 に答える
0

以下、私の意見では問題を解決します

  1. init .pyを「〜/ Desktop / Python_Tutorials / diveintopython/py」フォルダーに追加します
  2. [ウィンドウ]->[設定]->[PyDev]->[インタープリター]->[Pythonインタープリター]に移動して、Pythonインタープリター設定を削除します(理由は、PyDevがシステムPythonPathに対して行われた更新を自動更新できないためです)
  3. 以前と同じ詳細でインタープリターを追加します(これにより、PythonPathに加えられた更新でPythonインタープリター設定が更新されます)
  4. 最後に、「〜/ Desktop / Python_Tutorials / diveintopython / py」フォルダは標準のPythonPathではないため、追加する必要があります。これを行うには2つの方法があります。

a。デビッドドイツ語が提案したように。ただし、これはあなたが参加している特定のプロジェクトにのみ適用されます。「〜/ Desktop / Python_Tutorials / diveintopython/py」を[ウィンドウ]->[設定]->[PyDev]->[インタープリター]->[Pythonインタープリター]->[ライブラリ]サブタブ->[NewFolder]の下の新しいPythonPathに追加します

それが役に立てば幸い。

于 2014-10-05T02:02:47.170 に答える
0

PYTHONPATH、Interpreter、およびGrammarを理解することにより、問題を解決しようとした後、追加のライブラリをインポートする際にいくつかの問題が発生しました。その後、インポートエラーが発生したファイルに新しい空の行を追加して保存すると、エラーが解決されました。

于 2019-12-19T22:21:15.410 に答える
-1
KD.py

class A:
a=10;

KD2.py 
from com.jbk.KD import A;
class B:
  b=120;

aa=A();
print(aa.a)

これは私にとって完璧に機能します

別の例は

main.py
=======
from com.jbk.scenarios.objectcreation.settings import _init
from com.jbk.scenarios.objectcreation.subfile import stuff

_init();
stuff();

settings.py
==========
def _init():
print("kiran")


subfile.py
==========
def stuff():
print("asasas")    
于 2018-01-25T19:48:47.373 に答える