linke.zhanghu 发表于 2021-3-9 12:23:43

关于python自定义模块的导入问题

文件结构如下:

账户注册
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' 如图所示
请问是我的导入语法出了问题还是软件设置问题?如何解决这个问题?

wp231957 发表于 2021-3-9 13:14:39

路径不对??

yuedong 发表于 2021-3-9 13:47:32

pycharm可以运行是因为bin和你运行的函数在同一个文件夹下,可以找到
Visual Studio Code 要导入的话要写路径的吧

linke.zhanghu 发表于 2021-3-9 14:38:14

wp231957 发表于 2021-3-9 13:14
路径不对??

路径完全正确
两个编辑器执行的是同一个文件,而且文件内容100%相同.我直接粘贴的不可能出现文件内容不相同的情况.

linke.zhanghu 发表于 2021-3-9 14:56:37

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

找到原因了.需要把bin所在的路径写入sys.path
Pycharm默认的sys.path中是有这个路径的,但是VSC当中却没有需要手动加入.

linke.zhanghu 发表于 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:\账户注册\\")
页: [1]
查看完整版本: 关于python自定义模块的导入问题