linux命令行模式导入自建模块失败问题
1.问题原因
平时工作是使用pychram运行Python脚本。
偶然遇到某个脚本需要在linux环境,定时运行。
脚本中导入模块语句 **from XX import ***,
在pychram导入没问题
以命令行模式运行显示 No module named XX
观察后发现是python导入脚本路径问题
2.解决方法
进入半小时的百度环节
发现解决方式两种
a.
export PYTHONPATH=模块路径
此方法只在当前命令窗口有效,且关闭窗口后重新打开还是会报错
b.
作用于当前用户,修改当前用户目录下的’~/.bashrc’文件
$ vi ~/.bashrc
加入内容:
export PYTHONPATH=$ PYTHONPATH模块路径
然后ESC wq 保存。
也可以加入多个路径,用分号分隔
export PYTHONPATH=$PYTHONPATH:<你的要加入的路径1>:<你的要加入的路径2>:等等
注1:需要执行如下命令后生效(或者注销后重新登陆)
$ source ~/.bashrc
这种方法也是单窗口生效 ,测试重新连接远程linux,运行脚本又显示 no module named XX
c.
还有一种修改/etc/prefile文件的方法 类似于第二种
第三种是可以让所有使用这台机器的用户都添加这一path
vi ~./bash_profile
修改此文件
添加Python路径
export PYTHONPATH=$ PYTHONPATH
输入source ./bash_profile生效
记录一次 下次别又掉坑