Pycharm远程连服务器跑程序,结果老是报错
ImportError: No module named xmltodict
然而我明明已经安装了xmltodict。
通过在各处测试所调用的python版本,发现问题出在这里
os.system('python ' + clean_annotation_path + ' ' + temp_JPEGImages + ' ' + temp_Annotations + ' -r ' + os.path.join(temp, 're'))
在这一句之前,都是使用python3.6,来自我个人的路径,因为我在bashrc里已经做好了设置。
export PATH="/home/wei/miniconda3/bin:$PATH"
alias pip="/home/wei/miniconda3/bin/pip"
alias python="/home/wei/miniconda3/bin/python"
alias python3="/home/wei/miniconda3/bin/python3"
然而这一句调用的却是python2.7,来自系统路径
/usr/bin/python
这样我安装的那些包当然就找不到了。
没有找到原因。在服务器上直接运行python命令是不会搞错的,用pycharm远程运行py文件且文件中执行os.system()来调用python就会调错。
最后只好使用
os.system('/home/wei/miniconda3/bin/python ' + clean_annotation_path + ' ' + temp_JPEGImages + ' ' + temp_Annotations + ' -r ' + os.path.join(temp, 're'))
BTW,获取当前文件所在目录的绝对路径方式如下:
dataset_helper_path = os.path.dirname(os.path.realpath(__file__)) #获取当前文件所在目录的绝对路径
如果用以下语句可能得到相对路径:
dataset_helper_path = os.path.dirname(os.path.realpath(__file__))