Pylint 和 sys.path 的动态变化
Pylint and dynamic changes to sys.path
我有一个项目,其中 python 脚本必须从环境变量中获取其某些导入的路径。我用
处理这个
sys.path.insert(0, os.environ["PYDIR"])
当我 运行 应用程序时工作正常。
Pylint(在我的 Vim 编辑器中)标记了我从 "PYDIR" 导入的所有模块的导入错误。我讨厌禁用模块中的错误消息,因为它通常很有用。 OTOH,我也讨厌编辑器中的视觉混乱。
我怀疑没有好的解决方案,因为 Pylint 不执行代码,但我想我还是要问一下。
编辑:请参阅我下面关于此问题与 PyLint "Unable to import" error - how to set PYTHONPATH?
之间差异的评论
对于我的特殊情况,以下似乎可以令人满意地工作。 (我在 OS X 上开发,在做这个项目时我启动了一个自定义终端 shell,我的编辑器是 'mvim' (MacVim))
添加到终端启动shell命令列表:
source .myprojectshellenv;
其中 .myprojectshellenv
包含:
export PYDIR=path-to-myproject-python-modules
alias pmvim="env PYTHONPATH=$PYDIR mvim"
那么我只需要记住用 pmvim
而不是 mvim
来编辑文件。 (如果我忘记了来自 pylint 的错误指示器(通过 syntastic)让它立即变得明显)
我有一个项目,其中 python 脚本必须从环境变量中获取其某些导入的路径。我用
处理这个sys.path.insert(0, os.environ["PYDIR"])
当我 运行 应用程序时工作正常。
Pylint(在我的 Vim 编辑器中)标记了我从 "PYDIR" 导入的所有模块的导入错误。我讨厌禁用模块中的错误消息,因为它通常很有用。 OTOH,我也讨厌编辑器中的视觉混乱。
我怀疑没有好的解决方案,因为 Pylint 不执行代码,但我想我还是要问一下。
编辑:请参阅我下面关于此问题与 PyLint "Unable to import" error - how to set PYTHONPATH?
之间差异的评论对于我的特殊情况,以下似乎可以令人满意地工作。 (我在 OS X 上开发,在做这个项目时我启动了一个自定义终端 shell,我的编辑器是 'mvim' (MacVim))
添加到终端启动shell命令列表:
source .myprojectshellenv;
其中 .myprojectshellenv
包含:
export PYDIR=path-to-myproject-python-modules
alias pmvim="env PYTHONPATH=$PYDIR mvim"
那么我只需要记住用 pmvim
而不是 mvim
来编辑文件。 (如果我忘记了来自 pylint 的错误指示器(通过 syntastic)让它立即变得明显)