鱼C论坛

 找回密码
 立即注册
查看: 1686|回复: 5

[已解决]关于python自定义模块的导入问题

[复制链接]
发表于 2021-3-9 12:23:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
文件结构如下:

账户注册
  bin
    conf
      peizhi_wenjian.py
    qidong_chengxu.py
  core
    zhanghu_zhuce.py
  db
    beifen_shujulu.ini
    zhu_shujuku.ini
  log
    rizhi.txt

我的需求是把 bin.conf.peizhi_wenjian 中的所有数据导入到 core/zhanghu_zhuce.py当中来进行使用
所以我在core/zhanghu_zhuce.py当中进行了导入
from bin.conf.peizhi_wenjian import *
# 验证导入是否成功
print(ROOT_DIR) #  ROOT_DIR是peizhi_wenjian.py当中存放的一个变量.如果导入才成功我应该可以在终端看到输出结果.
这样的代码如果是用Pychram的话就没有任何问题我能正常使用peizhi_wenjian中的数据
但是如果使用Visual Studio Code就不行了会报错ModuleNotFoundError: No module named 'bin' 如图所示
请问是我的导入语法出了问题还是软件设置问题?如何解决这个问题?
最佳答案
2021-3-9 13:47:32
pycharm可以运行是因为bin和你运行的函数在同一个文件夹下,可以找到
Visual Studio Code 要导入的话要写路径的吧

代码对比

代码对比
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-3-9 13:14:39 From FishC Mobile | 显示全部楼层

回帖奖励 +10 鱼币

路径不对??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-3-9 13:47:32 | 显示全部楼层    本楼为最佳答案   
pycharm可以运行是因为bin和你运行的函数在同一个文件夹下,可以找到
Visual Studio Code 要导入的话要写路径的吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-9 14:38:14 | 显示全部楼层

路径完全正确
两个编辑器执行的是同一个文件,而且文件内容100%相同.我直接粘贴的不可能出现文件内容不相同的情况.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-9 14:56:37 | 显示全部楼层
yuedong 发表于 2021-3-9 13:47
pycharm可以运行是因为bin和你运行的函数在同一个文件夹下,可以找到
Visual Studio Code 要导入的话要写 ...

找到原因了.需要把bin所在的路径写入sys.path
Pycharm默认的sys.path中是有这个路径的,但是VSC当中却没有需要手动加入.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-9 15:02:59 | 显示全部楼层
hrp 发表于 2021-3-9 14:54
from ..bin.conf.peizhi_wenjian import *

已经找到原因了.需要将项目根目录加入到sys.path当中 pycharm已经加好了.vsc需要自己加.
你那么做也一样会报错:
ImportError: attempted relative import with no known parent package
目前我找到的唯一解决办法就是
sys.path.insert(0, r"E:\账户注册\\")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 06:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表