EclipseでPyDevを取得して、既にインストールされているモジュールを認識するのに問題があります。これが私の詳細なアプローチです。マシンはMac(Snow Leopard)です。
ターミナルでコマンド
python --version
Python 2.6.6を示しています。
import unidecode
そして
from unidecode import unidecode
両方ともうまくいきます!
EclipseにPyDevをインストールし、pythonインタープリター(自動構成)を構成しました。提案されたパッケージをすべて選択し、ApplyおよびOk =。
しかし、Eclipseは文句を言い続けます
Traceback (most recent call last):
File "/Users/me/Documents/workspace/myproject/python/pythontest.py", line 12, in <module>
from unidecode import unidecode
ImportError: No module named unidecode
pythonファイルは次のようになります
#!/usr/bin/env python
# encoding: utf-8
import sys
import os
from unidecode import unidecode
def main():
print unidecode(u"Ågot Aakra")
if __name__ == '__main__':
main()
スクリプトの最初の行を削除すると
#!/usr/bin/env python
同じエラーが発生します。
誰かが問題の所在を知っていますか?
これは私の問題の解決策です:
../site-packages/
フォルダーへのパスを見つけます。(私にとっては、python 2.6で/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/
私のMacとSnoe Leopard。)../site-packages/
に移動します。そして、あなたは行ってもいいはずです。 =)
コメントで正しい方向へのヒントを提供してくれた@all参加者に感謝します。
今日も同じ問題に遭遇しました。私はpydevを使用しており、いくつかのサブパッケージを使用した作業プロジェクトがありました。突然、新しいモジュールを作成した後、別のパッケージでこのモジュールを使用できませんでした。不可解な機能は、同じサブパッケージで別のモジュールを使用できることでした...
最後に
次のスクリプトを使用して、コンパイル済みのクラスをすべて削除しました。
import os
def clean_folder(folder):
for file in os.listdir(folder):
path = os.path.join(folder,file)
if os.path.isdir(path):
clean_folder(path)
if '.pyc' == file[-4:]:
print 'deleting: ' + str(path)
os.remove(path)
if __name__ == '__main__':
folder = 'YOUR_PROJECT_SRC_PATH'
clean_folder(folder)
そして最終的に私は「実際の」仕事をすることができます:)それが誰かを助けることを願っています...
モジュールをpydevパスに追加するだけです。プロジェクトのプロパティ(コンテキストメニューから)-> PyDev-> PYTHONPATH-> External Librariesに移動します。モジュールがソースフォルダーまたはZip/Eggファイルのどちらにあるかに応じて、[ソースフォルダーの追加]または[Zip/jar/Eggの追加]を選択します。 site-packagesディレクトリに移動し、関連するファイルまたはフォルダーをポイントします(私の場合:/usr/local/lib/pythonx.x/site-packages)
システムまたはプロジェクトに存在するパッケージに関してEclipseが「失われた」場合、プロジェクトのコンテキストメニューから「プロパティ」メニュー項目を選択し、次に左側のツリービューの「PyDev-PYTHONPATH」項目を選択しますダイアログ、[内部情報の強制復元]ボタン。一見、PyDevは計算された情報のキャッシュを保持し、何らかの理由でキャッシュの一貫性が失われた場合、PyDevに再計算を強制できます。
私の場合、コンパイルする前にこのエラーは発生しませんでしたが、コンパイルするとエラーが発生しましたImportError:no module named myant.core。 PyDev-PYTHONPATHからファイルを追加しようとしましたが、再び同じエラーが発生しました。その後、実際に.pyファイルが置かれているフォルダーに正確にパスを追加する必要がないことに気付きました。実際、myant.coreが存在するフォルダーを追加する必要があります。これを行った後、プロジェクトを再コンパイルしたときに再起動しました。問題は修正されました。私が持っていることを共有します:
Python 2.7 Eclipse Kepler 4.3、PyDev 3.9.2、および私のubuntu 14.04
。pyファイルの場所:/${PROJECT_DIR_NAME}/src/myant/core
、したがって私は/${PROJECT_DIR_NAME}/src
上記のあなたの答えは役立ったが、私には解決しなかった。
そして、私は行って良かったです。 =)
これは私のためにそれをしました。 Eclipseの再起動は必要ありませんでした。
設定> pydev>インタープリターを試してください-pythonおよびpythonインタープリターを削除して再追加します(削除する前にパスを知っていることを確認してください)、再追加すると、すべてのボックスにチェックマークが付きます。
Oxygen 2の場合(以前のバージョンでも機能したと思います)...
インポートエラーマークアップをコードエディターで非表示にするには、問題のあるインポートの後にスペースを入力して、変更を保存する必要があります。 PyDevが問題のあるインポートモジュールを見つけることができるため、インポートエラーは消えます。