平时里笔者在利用pycharm变成是没有发现包与包之间的子文件引用出现问题,原因是在pycharm中自动为你写好了文件之间的引用路径,使两个同级包内的子文件是可以访问的。但是,当笔者复现别人的代码使,由于在CentOS服务器上跑实验,这种包之间的错误就显现了出来。

错误描述:

首先文件结构如下图所示:

在test文件夹下有两个文件夹model、code。model文件夹下有一个python文件:show.py;code文件夹下有一个python文件:test.py;两段代码分别为:

# This is model/show.pydef show():print("This is show!")
# This is code/test.py
from model import showshow.show()

当运行test.py时,报错如下:

from model import show
ModuleNotFoundError: No module named 'model'

就是说test.py看不见model这个文件,如果改成下面这种文件结构则没有问题:

解决上面的问题只需要在test.py文件中加入sys.path.append("../"),将相对路径的信息加入文件系统路径即可即可:

# This is code/test.py
import sys
sys.path.append("../")
from model import showshow.show()

运用sys.path.append()解决python两个包之间子文件引用问题!相关推荐

  1. python sys.path.append()添加路径_Python调用CST进行天线建模仿真:环境搭建指南

    CST微波工作室支持使用Matlab对其进行调用,但是一直以来官方没有提供python调用接口,但在最新的CST2020更新中添加了对Python3.6的调用支持,在安装路径下就已经附带了python ...

  2. python sys.path.append(),sys.path.insert()用法

    python sys.path.append(),sys.path.insert()用法 添加import搜索路径 python程序中使用 import XXX 时,python解析器会在当前目录.已 ...

  3. python 基础 —— sys.path 与 sys.path.append

    sys.path 指定模块搜索路径的字符串列表. 从环境变量PYTHONPATH初始化,加上依赖于安装的默认值. 在程序启动时初始化,此列表的第一个项目path [0]是包含用于调用Python解释器 ...

  4. Python的 sys.path.append()、os.path.dirname(os.path.abspath(file))、使用os模块动态获取目录或文件路径

    sys.path.append() 当我们导入一个模块时:import  xxx,默认情况下python解析器会搜索当前目录.已安装的内置模块和第三方模块,搜索路径存放在sys模块的path中: &g ...

  5. sys.path.append()

    sys.path.append() sys - System-specific parameters and functions - 系统特定的参数和函数 https://docs.python.or ...

  6. sys.path.append方法

    主要是将这个路径在程序运行的时候加入到环境变量中, 为啥这样做呢, 目的就是给我们的import使用 在开发的时候会有很多的文件夹与py文件,也就是模块,也会涉及到很多的调用,如果我们不用这种方法而这 ...

  7. 安装fitz报错_解决python 虚拟环境删除包无法加载的问题

    项目开发一直在docker的虚拟环境上,遇到了一个问题,就是把虚拟环境的包删掉(rm -rf xxx)之后,再重新拷贝一个(跟原来包一模一样的文件夹)进去发现pycharm再也找不到这个包了,后来在同 ...

  8. python读取一个文件夹/子文件夹下的所有文件名字

    python读取一个文件夹/子文件夹下的所有文件名字 示例代码: import osfile_path = './images/' all_file_name = os.listdir(file_pa ...

  9. 教你如何解决Python模块导包没有找到的问题

    一般情况下,Python模块导入推荐使用从根路径导入的写法,比如Node.js就使用相对路径的方式导入模块 例如 有如下目录 demo_project/module_a/file_a.py [func ...

最新文章

  1. 求n!中含有质因子p的个数
  2. mysql数据导库常用操作
  3. 并发编程协程(Coroutine)之Gevent
  4. jmeter操作练习
  5. oracle数据抽取脚本,oracle的一些信息抽取脚本.sql
  6. Java 100(三)
  7. 发布一个博客园专用Windows Live Writer代码插件
  8. android最好的3d游戏机,终极盘点:Android必玩十大超猛3D游戏
  9. mac看图软件哪个好用_细数Mac上那些好用且免费的软件(三)
  10. ruby on rails 2.3+的版本不再支持cgi
  11. python的get和post方式请求详解
  12. ORACLE中null的排序问题
  13. android 反编译 dex2jar,Android反编译教程:apktool,dex2jar的使用
  14. 机器视觉及视觉传感器
  15. 半导体物理学习整理(一)
  16. PMP-36项目风险管理
  17. UFW、firewall、iptables防火墙配置
  18. YouBank数字钱包
  19. 面试阿里巴巴有多难,看看面经你就知道了
  20. 2021年第六届数维杯B题 中小城市地铁运营与建设优化设计

热门文章

  1. VS2010串口通信详解
  2. 孪生素数(python)
  3. Vite 与 Vue Cli 对比 - 尤雨溪: Vite 会取代 vue-cli 吗?
  4. Pine脚本 | 如何显示和排版绘图开关?
  5. html 引入地址地址,jQuery 在线引用地址
  6. 【Unity】使用LineRenderer实现闪电效果
  7. gta5线上显示无法连接服务器,gta5线上模式连接不上怎么回事_gta5线上模式进不去如何解决...
  8. 科大讯飞语音唤醒功能(1)
  9. 数智时代下,值得关注的大技术趋势
  10. Javascript语言中一个独特的概念:闭包(closure)