問題タブ [importerror]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
33 に答える
1977678 参照

python - Python エラー "ImportError: No module named"

Python はローカル ディレクトリにインストールされます。

私のディレクトリツリーは次のようになります。

私のコードはここにあります:

この例を実行するにはpython mountain.py、次のコードを記述します。

そして、私はエラーが発生します:

私はすでにチェックしてsys.pathおり、そこにディレクトリがあり/site-packagesます。また、__init__.py.binこれがパッケージであることを Python に示すために、toolkit フォルダーにファイルがあります。__init__.py.binサンプルディレクトリにもあります。

にあるときに Python がファイルを見つけられない理由がわかりませんsys.path。何か案は?パーミッションの問題でしょうか? 実行許可が必要ですか?

0 投票する
2 に答える
171 参照

python - Python での ImportErrors のテスト

何かがリファクタリングされたために機能しないコードをチェックインする人々に、私たちは大きな問題を抱えています。確かに、これは開発者がこの種の間違いを簡単に見つけるための優れたツールを実際に持っていないためです。

Python で ImportErrors を見つけるのに役立つツールはありますか? もちろん、ここでの正解は「そのためには単体テストを使用する必要があります」です。しかし、私は (少なくとも Michael Feathers の定義によると) レガシー コードの世界にいるので、単体テストは私たちが重点的に取り組んでいるものです。

それまでの間、各ディレクトリをウォークスルーし、その中の各ファイルをインポートして、ImportErrors を持つスクリプトを見つけるための何らかのツールがあればいいでしょう (たとえば、ファイルまたはクラスの名前が最近変更された場合など)。これを自分で書くのはそれほど難しくないと思いますが、これを行うために既に書かれているプログラムはありますか?

0 投票する
1 に答える
4599 参照

python - ctypesのインポートでImportErrorが発生するのはなぜですか?

0 投票する
1 に答える
2353 参照

python - Pythonスクリプトからlibxml2modをインポートできません

Pythonプロンプトでは正常に動作します!!

インポートがPythonプロンプトから完全に機能しているため、私のプログラムが.pyファイルから機能しない理由を誰かが理解できますか?

0 投票する
2 に答える
1143 参照

python - ImportErrorで「モジュールが見つかりません」と「モジュールが例外をスローしました」を区別するにはどうすればよいですか?

Pythonでは、を発生さimport does_not_existImportError

exists.py

も発生しImportErrorます。

コードの違いをどのように見分ける必要がありますか?

0 投票する
1 に答える
582 参照

python - Windows 98 でネットワーク経由で py2exe プログラムにアクセスすると、ImportErrors がスローされる

私はpy2exeでコンパイルされたpythonプログラムを1台のサーバーマシンから多数のクライアントマシンで実行しています(すべてのマシンのネットワークドライブにマップされています.W :など)。

Windows XP 以降のマシンでは、これまでのところ、Python が W:\python23.dll を拾うという問題はありませんでした (はい、私は W98 との互換性のために Python 2.3.5 を使用しています)。次に、W:\zlib.pyd を使用して、os などのすべての .pyc ファイルを含む W:\library.zip を解凍します。これらはインポートされ、プログラムは問題なく実行されます。

この問題は、一部の Windows 98 SE マシンで発生しています (注: 一部の Windows 98 SE マシン、その他は明らかな問題なく動作するようです)。何が起こるかというと、プログラムは W: から実行され、W:\python23.dll が見つかったと思います (Python の ImportErrors が発生しているため、Python の import ステートメントを実行できる必要があります)。いくつかのことが機能しません:

1) W:\library.zip に .pyc ファイルの唯一のコピーが含まれている場合、 ZipImportError: can't decompress data; zlib not available(W:\zlib.pyd が利用可能であり、同じネットワーク上の XP 以降のマシンで正常に動作することを考えるとナンセンスです)。

2) .pyc ファイルが py2exe によって python exe 内に実際にバンドルされている場合、または .exe と同じディレクトリに置かれている場合、または PYTHONPATH 変数の一部として設定される名前付きサブディレクトリに置かれている場合 (例: W:\pylib) )、取得しますImportError: no module named os(os は、sys などの前にインポートされた最初のモジュールです)。

考えてみると、osがインポートされる前にsys.pathを検索できなかったのでしょうか?これらのインポートの順序を変更してみますが、私の疑問はまだ残っています:なぜこれは散発的な問題で、一部のネットワークでは機能し、他のネットワークでは機能しないのですか? また、実行する実行可能ファイル内にバンドルされているファイルを Python に強制的に検索させるにはどうすればよいでしょうか。私は稼働中の Windows 98 SE マシンにすぐにアクセスできますが、稼働していないマシン (私の顧客) には、毎朝店が開く前にしかアクセスできません。

前もって感謝します!


編集:さて、大きな一歩前進。PY2EXE_VERBOSE でデバッグした後、特定の W98SE マシンで発生する問題は、インポートを探すときに正しいパス構文を使用していないことです。まず、PYTHONPATH 環境変数を読み取っていないようです (PY2EXE_VERBOSE のように、私が認識していない py2exe 固有のものがある可能性があります)。

第 2 に、あきらめる前に 1 か所だけを検索します (ファイルが EXE 内にバンドルされている場合は、そこを検索します。そうでない場合は、library.zip を検索します)。

EDIT 2 : 実際、thisによると、Python インタープリターの sys.path と Py2exe 実行可能ファイルの sys.path には違いがあります。具体的には、sys.path contains only a single entry: the full pathname of the shared code archive.何とか。フォールバックはありませんか?現在の作業ディレクトリでさえありませんか?PATH に追加してみW:\ますが、py2exe はシステム ライブラリを検索するための標準に準拠していないため、機能しません。

さて、興味深い点です。atexit、os などをロードしようとするパスは次のとおりです。

W:\\library.zip\<module>.<ext>

library.zip の後の 1 つのスラッシュですが、ドライブ文字の後の 2 つのスラッシュに注意してください (これが意図されていて動作する場合は、誰かが私を修正してください)。これが文字列リテラルの場合、スラッシュが二重にされていないため、(無効な) エスケープ シーケンスとして読み取られ、生の文字が出力されます (W:\library.zipos.pyd, W:\library.zipos.dll, ...スラッシュの代わりに表示されます)。文字列リテラルでない場合、二重スラッシュは自動的にノルムパス化されない可能性があり (そうあるべきです)、二重スラッシュはモジュール ローダーを混乱させます。私が言ったように、set PYTHONPATH=W:\\library.zip\\その変数を無視するという理由だけではできません。

プログラムの開始時に sys.path.append を使用する価値があるかもしれませんが、特に古い OS の 1 つの構成で問題が発生するため、ハードコーディング モジュール パスは絶対的な最後の手段です。

何か案は?私は 1 つを持っていsys.pathますos。もう 1 つは、追加os.getenv('PATH')するかos.getenv('PYTHONPATH')、sys.path に追加することです... 再び、osモジュールが必要です。モジュールも初期化に失敗するsiteため、.pth ファイルを使用できません。

また、最近、プログラムの開始時に次のコードを試しました。

しかし、それは linecache.pyc やその他のものをロードすることはできません。見た目からは実際にこれらのコマンドを実行することはできません。sys.path を動的に変更するために linecache を必要としない組み込み機能を使用する方法はありますか? それとも、正しい sys.path をハードコーディングする必要がありますか?

0 投票する
2 に答える
2547 参照

python - ImportError: 名前 NumpyTest をインポートできません

scipy を使用して *.wav ファイルを読み込もうとしています。私は次の方法でそれを行います:

その結果、次のエラー メッセージが表示されます。

scipy が NumpyTest をインポートできない理由と、それを修正する方法を知っている人はいますか?

0 投票する
8 に答える
24124 参照

python - PyQt 4.7 - Windows にインストールした後の ImportError

Vista にPyQt 4.7をインストールしようとしましたが、実行しようとすると ImportError が発生しますfrom PyQt4 import QtCore, QtGui

ImportError: DLL の読み込みに失敗しました: 指定されたモジュールが見つかりませんでした。

システム パスを確認したところ、 C:\Python31\Lib\site-packages\PyQt4\binがそこにあります。

どの例も実行できませんが、Designer、Assistant、Linguist は正常に動作します。

それが違いを生む場合、私はActivePython 3.1を使用しています。また、以前のバージョンの PyQt をインストールしていません。


編集:

QtCore4 および GtGui4 dll をC:\Python31\Lib\site-packages\PyQt4にコピーしました。これでいくつかの例は修正されましたが、まだサンプル ブラウザを使用できません。

0 投票する
1 に答える
605 参照

django - Django開発サーバーを使用して動作しますが、mod_wsgiを使用してApacheでインポートエラーをスローします

付属の開発サーバーで正常に動作するDjangoプロジェクトがあります。

「djangomanage.pyrunserver」を使用してもエラーはまったく発生せず、アプリは正常に動作しますが、mod_wsgiとApacheで使用しようとすると、ブラウザーに「Internal ServerError」と500エラーコードが表示され、 Apacheエラーログにエラーをインポートします。

ログのエラーは次のとおりです。

ImportError:登録という名前のモジュールがありません

私は次のようなパスにあるDjango登録モジュールを使用しています:

Pythonシェルを起動し、sysをインポートし、sys.pathを使用してパスのリストを取得できるため、登録アプリがパスに含まれていることがわかります。

Pythonシェルから出力されるパスの一部を次に示します。

sys.path [''、'/ opt / raj / pyamf'、'/ opt / raj'、'/ opt / raj / pictures'、'/ opt / raj / pictures / register'、'/ usr / lib / python2 .6'、....]

どんな考えでもいただければ幸いです。

0 投票する
4 に答える
40123 参照

python - Python setuptools インポート エラー (NetBeans を使用)

この質問に答える質問を見つけようとしましたが、うまくいかなかったので、新しい質問を作成しました。

古い Python Tic Tac Toe ゲームを NetBeans でコンパイルしようとしていますが、エラー メッセージが表示されます

私の実際のコードでは、setuptools という名前のモジュールをインポートしていません。私が理解している限り、コンパイラは setup.py ファイルを生成し、そこにある setuptools モジュールを使用しようとします。どうすればその問題を解決できますか?

同じコードが実際に作成したときに完全に機能し、その後変更していないため、問題はコードにあるとは確信していません。