直接在命令行运行.py 文件:
[clouder@ana53 common]$ python3 driver.pyTraceback (most recent call last): File "driver.py", line 3, infrom scripts.common import read_confModuleNotFoundError: No module named 'scripts'
由于driver.py 引用了自己写的一个模块,没有加到PYTHONPATH,直接在pycharm运行是没问题,因为pycharm会默认把当前project加到sys.path.但是在命令行则不会报找不到自定义模块的错误
[clouder@ana53 common]$ python3Python 3.6.3 (default, Dec 5 2017, 14:08:32) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linuxType "help", "copyright", "credits" or "license" for more information.>>> import sys>>> print(sys.path)['', '/opt/python36/lib/python36.zip', '/opt/python36/lib/python3.6', '/opt/python36/lib/python3.6/lib-dynload', '/opt/python36/lib/python3.6/site-packages']>>> sys.path.append('home/clouder/workspace/pycharm/xiaohui/scripts/common')>>> print(sys.path)['', '/opt/python36/lib/python36.zip', '/opt/python36/lib/python3.6', '/opt/python36/lib/python3.6/lib-dynload', '/opt/python36/lib/python3.6/site-packages', 'home/clouder/workspace/pycharm/xiaohui/scripts/common']
想要在命令行也可以执行,手动把project项目路径加到PATHONPATH,默认没有这个环境变量的:
修改自己~目录下的.bashrc,增加一行,并source一下生效.只对当前用户生效.也可以修改/etc/profile文件,对所有用户生效.方法一致
[clouder@ana53 lib]$ echo 'export PYTHONPATH=/home/clouder/workspace/pycharm/xiaohui' >> ~/.bashrc[clouder@ana53 lib]$ source ~/.bashrc