問題タブ [pythonpath]

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 投票する
1 に答える
9692 参照

python - PyCharm は Python のインポートロジックを変更する方法と理由は?

WindowsにPyCharm 1.2.1があります。同じプロジェクトのさまざまなブランチを編集する必要があります-ディスク上のさまざまなフォルダーにあるため、やや重いブランチ-c:\apps\alphac:\apps\beta. そのようなフォルダーごとに、PYTHONPATH 変数を調整して、プロジェクト ルート フォルダー ( c:\alpha\vendor、...) 内のどこかに存在する適切なベンダー ライブラリを指すようにする必要があります。PyCharmを起動する前に必要なPYTHONPATH変数値を設定するcmdバッチファイルからPyCharmを起動することで、この問題を回避することができました(したがって、ディレクトリPyCharm.cmdalphaとディレクトリPyCharm.cmd内にありますbeta)。

問題:フォルダーを編集するために PyCharm を開くとbetaimportステートメントはフォルダーからモジュールをインポートしalphaます! python.exeコマンドラインからインタープリターを起動すると、すべてが期待どおりに機能します-問題はPyCharm のみにあるようです。

2 番目の奇妙な調査: print sys.pathPyCharm と外部の python.exe インタープリターからコードを実行すると、異なる結果が得られます。PyCharm からは、私の PYTHONPATH モジュールが表示されません。私は Python と PyCharm の初心者ですが、この動作は非常に奇妙で一貫性がないように見えます。

最後に、この問題を解決できるように見える PyCharm IDE の設定をいくつか見つけましたFile -> Settings -> Python Interpreteralphaそこで、とbetaフォルダーの両方のすべてのパスを見つけました。このパス リストをクリアする方法はなく、一部の要素を無効にするだけです。alphaしかし、無効にすることはややばかげています.編集またはbeta「ソリューションフォルダー」のたびに、個別に無効/再度有効にする必要があります。

最後の質問: PyCharm を使用して個別のプロジェクト (フォルダー) を編集し、PyCharm が間違った場所からモジュールをインポートしないようにするにはどうすればよいでしょうか?

0 投票する
32 に答える
331379 参照

python - djangoインポートエラー - core.managementという名前のモジュールがありません

わかりました、これらのエラーがたくさん見られます。私はできることをすべて試しましたが、まだこれを理解していません。

Python 2.5 と Django 1.3 を実行している開発サーバーで作業しています。Django 1.3 は、ダウンロードした tar.gz を解凍した後、python setup.py install を使用してインストールされました。

すべて正常に動作します。実行する必要はほとんどありませんがmanage.py、新しい staticfiles アプリを使用しようとして問題が発生しています。

わかりましたので、PATH問題があります。

Django のインストールから、自分のsite-packagesディレクトリを再確認します。

OK、私が持っているものをチェックしましょう。echo $PYTHON_PATH が空だったので、設定しました

まだ運がありません。sys.path の内容を確認してみましょう

パスはそこにあります。コンテンツを含む /usr/lib/python2.5/site-packages/django.pth も作成しました

ここで何が起こっているかの手がかりを得た人はいますか?

途中で邪魔になっていたシンボリックリンクを見つけましたが、新しいエラーにはなりませんでした。

また、新しいプロジェクトを作成して、そこに問題があるかどうかを確認し、同じ utils.version エラーを取得しようとしました。

サイド ノード: #django の Unode が少し役に立ちました。同じマシンに virtualenv をセットアップしてエラーを回避したので、実際のインストールで何が起きているのかまだわかりませんが、django プロジェクトではなく django にあるようです。 /python インストール。

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

python - Python setup.py install が間違った Python インストール パスを使用している

私は、python2.6の「初歩的な」インストールがあるbluehost-serverを使用しています。これまでのところ正常に動作するユーザーディレクトリにpython2.6をインストールしましたが、「setup.py install」、「easy_install」、または「pip install」でpythonパッケージをインストール
error: invalid Python installation: unable to open /usr/lib/python2.6/config/Makefile (No such file or directory)
しようとすると、次のようになります。この Makefile を持たないシステム全体のインストール。また、 --prefix または --user 引数を使用しても役に立ちません。

ユーザーディレクトリで python-installation を使用するように pip または easy_install に指示するにはどうすればよいですか?

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

bash - ディレクトリを Python パスに追加できません

私の .bashrc に以下を追加しました:

export PYTHONPATH=$PYTHONPATH:/home/tbao/src/Cython-0.14.1

再ログインすると、次のエラーが表示されます。

-bash: /home/tbao/src/Cython-0.14.1: ディレクトリです

ディレクトリを pythonpath に追加したいのですが、できません。私は何を間違っていますか?

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

python - サイトパッケージ外のバージョン管理されたパッケージ名に関する PYTHONPATH の問題

ここでパッケージ管理の問題を解決しようPYTHONPATHとして、site-packages ディレクトリの外部にあるパッケージにアクセスするために使用している方法に問題がある可能性があることを知りました。

wxPythonバージョン管理されたディレクトリ フォルダ名 (つまりwx-2.8-msw-unicode) からパッケージ (たとえば ) からモジュールをインポートしようとすると、そのディレクトリが python site-packages ディレクトリにない場合、インポート エラーが発生します。

問題を再現するには: python ディレクトリの外にディレクトリを作成しますC:\foo。をダウンロードwxPythonし、そのディレクトリに配置します ( を指定C:\foo\wx-2.8-msw-unicode)。必要に応じてさらに追加します。C:\fooディレクトリをPYTHONPATH環境変数に追加します。新しい python インタラクティブ シェルを開いて実行します。

パスがそこにあることを確認するには (それは)、次に

インポート エラーが表示されます。私は何を間違っていますか?この動作は正しいですか?

0 投票する
3 に答える
2099 参照

python - Python2のsys.pathはWindowsでどのくらい正確に設定されていますか?

Python のドキュメントには、sys.path「環境変数から初期化されPYTHONPATH、さらにインストールに依存するデフォルト」であると記載されています。

しかし、Windowsの「インストールに依存するデフォルト」とは正確には何ですか?

(これはおそらくpythonのコンパイル方法に依存していることはわかっていますが、もし私が持っているのがバイナリしかない場合、デフォルトがどのようにsys.path構築されているかを理解する方法はありますか?)

明確化: 私は「私のものは何sys.pathですか?」と尋ねているのではありません。「Python はどのように sys.path を構築するのですか?」ドキュメンテーションによると、これsys.pathsys.path[0]スクリプトの現在のディレクトリに加えて、Python がPYTHONPATH環境変数で見つけたものと、インストールに依存するいくつかのブードゥー教で構成されています。では、この神秘的なブードゥー教の部分は何ですか?

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

python - PyDevはプロジェクトソースフォルダーでモジュールを見つけることができません

さて、これは私がこの問題を抱えたのは初めてではありませんが、それは本当に今回私を端に追いやった。問題はこれです。LinuxとWindowsで何かを開発していて、ドロップボックスを介してワークスペースを共有し、インタープリターを切り替えています。時折、プロジェクトは実行可能でなくなります。私が得るエラーは次のとおりです。

興味深いことに、NetworkNamingGame\srcはプロジェクトソースフォルダーです。そして、naminggameはそこにある唯一のパッケージです。パッケージエクスプローラーはそれをパッケージとして正常に認識し、関連するアイコンを表示します。

これは、ソースフォルダーのパスの変更が原因である可能性があることを認識しています(相対パスだと思いましたが)。そのため、プロジェクトのソースフォルダーを削除して、ソースフォルダーのリストに読み取り、「内部情報の強制復元」、クリーニングを繰り返しました。プロジェクト、PyDev構成を削除し、上記のすべてを再試行しますが、運がありません。PyDevによって実行されるpythonインタープリターコマンドを確認すると、ソースフォルダーがPYTHONPATHにないことがわかります。私が見つけた唯一の解決策は、すべてを新しいプロジェクトにインポートすることです。あなたが私に尋ねるなら、あまり良い解決策ではありません。

これが外部フォルダである場合、私は適度に腹を立てるだけですが、それはすぐそこにあります!これは、私の構成で確認する必要がある最初で唯一のフォルダーです。これが発生する理由と、すべてを最初から開始せずに修正する方法についてのアイデアはありますか?

バージョンビット:

Eclipse SDK

バージョン:3.6.1

ビルドID:M20100909-0800

PyDev

バージョン:1.6.5.2011020317

そして、リクエストに応じて、naminggameフォルダの内容:

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

python - アプリケーション固有のPYTHONPATH

パッケージの階層を持つアプリケーションがあります。パッケージ階層の上位にある他のモジュールを参照するモジュールはかなりの数あります。以下に例示するように、相対インポートを使用してこの問題を解決できます。ただし、テストのためにモジュールを直接実行すると、Attempted relative import in non-package例外が発生して失敗します。

モジュールをテスト用に個別に実行し、他のモジュールからインポートできるように、アプリケーションまたはインポートステートメントを整理するためのより良い方法はありますか?

base.py

child.py

user.py

既存のソリューション

階層の上位にあるモジュールを参照する必要があるモジュールの先頭に、次のヘッダーを追加できることがわかりました。

欠点は、このコードをあちこちに追加する必要があることです。これは一定ではありません。'..'相対パスは、階層内のパッケージの深さによって異なります。

他の可能な解決策...

  1. アプリケーションルートを使用して.pthファイルを作成できます。残念ながら、これはPythonインストールのsite-packagesフォルダーに追加する必要があるため、アプリケーション固有ではありません。
  2. アプリケーションルートを一時的にPYTHONPATHに追加し、すべてのモジュールがルートからパッケージを参照するようにすることができます。ただし、これにより、を呼び出すだけでスクリプトを実行するという単純さがなくなりpython.exe whatever.pyます。
  3. インポートすると、アプリケーションのルートフォルダーでマーカーファイルを検索するようなモジュールを作成できます。次に、この汎用モジュールをローカルのPythonインストールにインストールして、アプリ内のすべてのモジュールにインポートできるため、実行しているモジュールに関係なく、ルートがPYTHONPATHにあることが保証されます。
0 投票する
2 に答える
2255 参照

python - djangoのインポートが機能しませんか?Pythonpath?

私はPython2.7と(私は信じている)Django1.0でWindowsを実行しています。BitnamiDjangostackを使用してDjangoをインストールしました。奇妙なことに、Pythonで「importdjango」と入力すると、次のエラーが発生しました。

オンラインで回答を検索しましたが、見つかった回答はすべて「djangoはPYTHONPATHに含まれている必要があります」でした。私はPythonを初めて使用するので、これが何を意味するのかわかりません。誰かが私にこれを説明してもらえますか?

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

python - Pythonコードを再利用するためのベストプラクティス

私はPythonライブラリアプリ(いくつかの* .pyファイルを含む)を作成しました。そして、私のPythonプロジェクトのいくつかは、ライブラリアプリでコードを再利用する必要があります。Pythonコードを再利用するための推奨されるベストプラクティスは何ですか?現在、私は3つのオプションを考えました。

  1. コピーアンドペースト。これはベストプラクティスからはほど遠いです。DRYの原則に違反しています(繰り返さないでください)。
  2. ライブラリアプリのフォルダーを環境変数PYTHONPATHに追加しますexport PYTHONPATH=/path/to/library/app。次に、同じコンピューター上のすべてのプロジェクトがライブラリアプリのコードを参照できます。
  3. そして、Pythonコードのsys.pathへのライブラリアプリのフォルダ:sys.path.append('/path/to/library/app')

上記の3つのオプションのうち、どれを好みますか?他の2つのオプションと比較してどのような利点がありますか?他にもっと良いオプションはありますか?Python開発の長年の経験を持つ人がこの質問に答えることができれば非常にありがたいです。