python篇---pycharm运行正常,但命令行执行提示module不存在的多种解决方式

pycharm运行正常,但命令行执行提示module不存在的多种解决方式(全)

解决方法

向执行代码中添加根目录路径,一般添加在头部

  • 方法一:写死绝对路径
python 复制代码
import sys
sys.path.append('xxx/xxx/xxx/')
  • 方法二:使用os获取
python 复制代码
os.path.dirname获取目录,此处就是获取目录的父目录。如果目录层级更多,就需要多加一层 os.path.dirname

import os,sys
project_root =  os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(project_root)
  • 方法三:os获取+/.../

如果层级更多,则需要多加".../" ,看起来比方法二更加简洁点

python 复制代码
import os,sys
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../')
  • 方法四,直接加到环境变量path中

输入以下命令

python 复制代码
export PYTHONPATH=$PYTHONPATH:/xxx/

export 命令输入只临时生效,重新连接会失效,或者直接修改环境配置~/.bashrc等配置加上这句可以实现永久解决问题,如果这个不能实现,考虑自己手动去执行添加

相关推荐
一直会游泳的小猫24 分钟前
homebrew
linux·mac·工具·包管理
m0_6245785929 分钟前
MySQL主从复制支持跨版本吗_不同版本间同步的注意事项
jvm·数据库·python
寒秋花开曾相惜34 分钟前
(学习笔记)4.2 逻辑设计和硬件控制语言HCL(4.2.1 逻辑门&4.2.2 组合电路和HCL布尔表达式)
linux·网络·数据结构·笔记·学习·fpga开发
狂奔的sherry39 分钟前
一次由 mount 引发的 Linux 文件系统“错觉”
linux·运维·服务器
yuanpan1 小时前
Python Pygame 入门教程:从零学会创建窗口、绘图和游戏交互
python·游戏·pygame
小黑要努力1 小时前
智能音箱遇到的问题(一)
linux·运维·git
2401_871492851 小时前
如何在 React Router v6 中正确配置多路由组件显示
jvm·数据库·python
ch3nyuyu1 小时前
静态库和动态库的制作
linux·运维·开发语言
一口Linux2 小时前
Linux C编程 | 从0实现telnet获取程序终端控制权
linux·运维·c语言