1

我只需要来自包含其他几个 python 模块的文件夹中的一两个模块。当我将文件夹添加到我的路径时,我有效地使该文件夹中的所有模块对我可用。但是有几个我不想要的过时模块。是否可以只为我提供这些模块的某个子集?

4

3 回答 3

2

阅读你的问题我明白

  1. 您在 pythonpath 中包含该文件夹,因为您需要其中的几个模块。
  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 回答