将系统python安装的sys.path附加到我的个人python安装中

时间:2011-12-10 04:15:36

标签: python ubuntu module

我的主目录中有一个系统python安装和个人python安装。我的个人python在$PATH中排在前面,我通常会这样做。但系统python安装有一些我想用于个人python安装的模块。

所以,基本上,我想将系统python安装的sys.path追加到个人python安装的sys.path

我阅读了网站模块的文档和来源,发现我可以使用sitecustomizeusercustomize模块来执行此操作。但是我被困在哪里是如何将系统python的sys.path附加到个人python的sys.path

站点模块中的gensitepackages函数似乎计算要添加到sys.path的路径,但它使用PREFIXES全局变量而不是将其作为参数,因此对于我所知道的,我无法使用它。将系统python的前缀添加到PREFIXES也不是一个选项,因为在加载自定义模块时,PREFIXES已经用于构建路径。

关于如何解决这个问题的任何想法?

另外,我不确定我是否应该在askubuntu / unix& linux上问这个问题。评论

编辑:猜猜我在这方面并不清楚。我希望系统python的路径是追加,这样当我尝试使用我的个人python中的模块时,它会自动回退到系统python的模块。

2 个答案:

答案 0 :(得分:1)

设置PYTHONPATH environment variable或在个人Python安装的site-packages目录中添加一个或多个path configuration files(。pth文件),指向要从系统Python添加的目录安装。

更新:一般来说,混合来自不同Python实例的模块并不是一个好主意。例如,用于构建两个Python的配置参数可能存在差异,这些参数可能会在为现有系统Python构建但与您的个人Python一起使用的C扩展模块中产生不兼容性。但是,如果您真的想沿着这条路走下去,可以使用.pth文件操作路径或修改site模块。或者更直接,更易于管理的方法是使用virtualenv使用系统Python创建私有虚拟环境,然后替换环境中的解释器;例如,请参阅Using Virtualenv without bin/python部分。

答案 1 :(得分:1)

python将检查是否存在$PYTHONPATH环境变量集。将其用于其他模块的路径。

使用export PYTHONPATH="path:locations"