pycharm远程调试——can't import module

背景描述

在使用pycharm远程调试项目时,明明已经指定了解释器(python interpreter)的路径了,为什么还是找不到module?
在import阶段就报错,项目无法启动。

说说原理

先说几点:

    1. 在Linux中,所有的可执行命令都是通过环境变量来找到可执行程序的。
    1. python的所有依赖包都是通过pip来安装的,如果不能正确的找到你要使用的pip路径,那么连你自己都不知道在运行哪个python解释器。
    1. 创建虚拟环境,本质上就是修改了python和pip的引用路径
    1. 环境变量PATH是一个列表,中间用:分割,查找顺序从前向后依次查找。

在知道了上述4点原理之后,我们来看看为什么没有找到,由于我们是使用virtualenv-wrapper和virtualenv来创建的虚拟环境,所以在你执行workon命令时,workon已经在你的PATH最前面(第一项)添加了一个路径,这个路径就是你的python虚拟环境的路径(venv/bin),这个bin目录中包含了你要使用的python解释器和pip包管理程序。
到此为止,初漏端倪。

怎么做

由于使用pycharm启动项目时,无法执行命令行(workon xxx),所以你需要自己在Evironment Variables里自己添加python虚拟环境的路径,到bin目录即可。


image.png

image.png

注意:
Name一栏填"PATH", Value一栏填"/home/python_env/report_service/bin/:PATH,因为如果没有这个后缀,之前的环境变量会被覆盖,导致你在服务器上配置的其他环境变量丢失。

然后你可以继续远程调试去了

你可能感兴趣的:(pycharm远程调试——can't import module)