python - 更改pythonpath的优先级

标签 python python-2.7 vtk paraview pygments

当我加载某些模块[即 pygments.lexers Bash Lexer 和 pygments.formatters LatexFormatter] 时,我收到一个错误,指出 python 找不到模块。然后我意识到这个问题是由我的 PYTHONPATH 引起的,它是为使用 paraview 而设置的。与 python 。它带来了自己的 pygments 版本,由于某种原因,它不能与 jupyter 笔记本中的 nbconvert 一起使用 [注意,它并不是完全功能失调,如 PythonLexer 和其他一些版本的调用没有问题,这只是我所使用的版本。上面提到过找不到]。

我在使用 Mayavi 时也遇到了类似的问题,它不适用于 paraview 版本的 vtk。

这两个问题都可以通过注释掉 bashrc 中的 python 路径来解决,但显然这样 paraview 将无法工作。

是否有办法,例如降低PYTHONPATH的优先级,以便优先调用/etc...中的系统代码,但paraview仍然可以在PYTHONPATH中找到它需要的代码?

我在linux mint 17.3上使用python 2.76,paraview是版本4.4.0,按照here从源代码安装

最佳答案

对 PYTHONPATH 中的条目进行排序部分是正确的,但系统路径似乎不会被包含在内直到您运行 python,然后它们被放在最后。因此,要将系统路径放在前面,请显式添加它:

export PYTHONPATH="[path/to/system/files]:$PYTHONPATH"

这是一种黑客行为,因为您添加的系统路径将在 sys.path 中重复。但它确实有效。

关于python - 更改pythonpath的优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35617035/

相关文章:

python - VTK 渲染窗口图像到 numpy 数组

matlab - 将 ITK/VTK 导入 Matlab 或将 Matlab 导入 VTK/ITK 环境?

optimization - 使用 root 优化后,结果不是他们应该的

python - 提高 Pandas DataFrames 的行追加性能

Python-VTK 3D Spline Regression 通过血管树的 STL 模型

python - 使用 ctrl c 退出程序

Python 的 __debug__ 特殊变量不适用于导入的模块

python - 多索引 Pandas 数据框上的值错误

python - CharField(editable=False),默认使用局部变量

Python opencv gui 退出