1

他のいくつかのpythonモジュールを含むフォルダーから必要なモジュールは1つまたは2つだけです。フォルダーをパスに追加すると、そのフォルダー内のすべてのモジュールを効果的に利用できるようになります。しかし、不要な古いモジュールがいくつかあります。これらのモジュールの特定のサブセットのみを利用可能にすることは可能ですか?

4

3 に答える 3

2

あなたの質問を読んで、私はそれを理解しています

  1. そこからいくつかのモジュールが必要なため、pythonpathにフォルダーを含めています。
  2. 使用しているバージョンに比べて古い可能性がある他のモジュールが含まれているため、間違ったライブラリをインポートしてしまうことは望ましくありません。

あなたに合った2つのオプションを提案します。

  1. 含めるこのフォルダが の最後にあることを確認してくださいsys.path。これにより、新しく含まれるフォルダーに存在する場合に既にインポートしているモジュールが、その特定の場所からインポートされることはありません。
  2. (*nix の場合のみ) 別のフォルダーを作成し、目的のファイルへのシンボリック リンクを作成します。次に、作成した他のフォルダーを含める必要があります。

あなたのコメントを読んで、最善の選択肢は、スクリプトのどこかに次の行を追加することですが、インポートする前に `

import sys
sys.path.append('/whatever')
于 2012-04-08T19:51:14.607 に答える
1

もし、あんたが

import X

モジュール Xのみをインポートします。それ以外は何もインポートしません。Python パス上にあるものは、自動的にインポートされることと同等ではありません (単にimportableです)。以下も参照してください。

于 2012-04-08T19:37:10.400 に答える
1

新しいディレクトリを作成します。インポートするモジュールごとln -sに、実際のモジュールを指すシンボリック リンク ( ) を追加します。次に、新しいディレクトリをパスに追加すると、インクルード順序でゲームをプレイする必要がなくなります。

mkdir ./mymods
export PYTHONPATH="$PYTHONPATH":`pwd`/mymods 
cd mymods
ln -s ../allmods/module1.py 
ln -s ../allmods/module2.py
于 2012-04-08T20:35:38.900 に答える