我只需要来自包含其他几个 python 模块的文件夹中的一两个模块。当我将文件夹添加到我的路径时,我有效地使该文件夹中的所有模块对我可用。但是有几个我不想要的过时模块。是否可以只为我提供这些模块的某个子集?
问问题
110 次
3 回答
2
阅读你的问题我明白
- 您在 pythonpath 中包含该文件夹,因为您需要其中的几个模块。
- 由于它包含一些与您使用的版本相比可能已经过时的其他模块,因此您不希望最终导入错误的库。
我会建议两个可能对您有用的选项。
- 确保您包含的此文件夹位于
sys.path
. 这将确保您已经导入的任何模块(如果存在于新包含的文件夹中)永远不会从该特定位置导入。 - (仅适用于 *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 回答