问题描述
- 很多时候你用 pycharm 用习惯了,啥都弄好了,但是却忽略了很多路径上的问题,偶尔需要和其他环境、平台交互的时候,比如写了一个 C# 程序去调用 python 的借口,就相当于 terminal 传参数启动,这个时候就会显示各种各样的 No module 问题
解决办法
- 究其原因,是因为外部环境在调用 python 接口的时候,要去你的程序中找各个 module,但是如果这些 module 还没有加入到环境变量中,那么就会找不到,因此推荐用下面的语句放在每个用到的 py 文件的最前头
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../')
- 这样的操作可以将当前文件的上一级目录整个添加到环境变量中,如此便可以轻松地调用上一级目录下面的所有文件啦
- 如果你的目录层级很多,当前的目录在一个较深的位置,那么你可以将这个命令稍微改一下,总之将你要使用的所有文件和目录包含进去即可,比如可以
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../../')
- 当然如果你只想调用当前文件夹下的所有目录,那么就可以使用
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + './')
总结
- 很多时候 terminal 运行出现 no module 错误大概都是因为当前文件夹没有加入环境变量导致的
- 通过上述的命令尝试一下,将跟路径尽可能地加入到环境变量中,即可以随便调用了
版权声明:本文为qq_42902997原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。