参见英文答案 >

ImportError on python 3, worked fine on python 2.7                                    1个

我需要有关如何在python包中组织源代码的帮助 – 我已经在网上(尤其是

this one)上有关于如何操作的几个教程,但它不能像解释的那样工作以及我如何想象它.

我想创建一个名为binaryio的python包.它应该提供两个名为BinaryReader和BinaryWriter的类,我希望用户能够导入它们

from binaryio import BinaryReader

from binaryio import BinaryWriter

因此,我创建了我的存储库和包目录结构,如下所示:

> binaryio(存储库根)

> binaryio(包根)

> __init__.py(下面的)

> binaryreader.py(包含BinaryReader类)

> binarywriter.py(包含BinaryWriter类)

> setup.py(包含setuptools.setup调用)

> .gitignore,README.md,LICENSE,…

正如您所看到的,这些类在我已经习惯的单独文件中(来自C#背景).由于模块是Python中的“单元”,我不确定这是不是一个好主意 – 但是将所有类别限制在一个巨大的文件中对我来说似乎不合逻辑.

__init__.py看起来如下导入这些类,使得(据我所知)二进制导入BinaryReader导入以后的用户可能:

from binaryreader import BinaryReader

from binarywriter import BinaryWriter

但是,当我在本地安装软件包(似乎工作正常)并尝试导入binaryio时,我收到以下错误:

>>> import binaryio

Traceback (most recent call last):

File "", line 1, in

File "D:\Projects\Git\binaryio\binaryio\__init__.py", line 1, in

from binaryreader import BinaryReader

ModuleNotFoundError: No module named 'binaryreader'

显然,我的__init__.py文件有问题.我不明白这一点,因为binaryreader.py文件aka模块存在于您上面看到的同一文件夹中.有趣的是,我的IDE(PyCharm,将包根设置为源文件夹)不会抱怨其中的语句并且可以解析所有引用.

我在这做错了什么?根据上面链接的教程,将文件放入xyz.py并使用名为Abc的类然后从xyz import Abc写入__init__.py应该可以工作,但显然它不适合我.

python找不到模块文件夹_python – __init__.py在同一目录中找不到模块相关推荐

  1. python创建模块文件夹_python文件、文件夹、压缩包处理模块-shutil模块

    shutil模块 高级的文件.文件夹.压缩包 处理模块 本节内容基本在linux下python交互环境实现 复制移动文件.文件夹 将文件内容拷贝到另一个文件中,可以部分内容 格式如下: ``` shu ...

  2. python找不到scripts文件夹_Python目录下中没有Script文件夹

    其中需要将C:\python27\Scripts 和 C:\python27 添加到系统路径中. 计算机属性-远程设置-高级(环境变量)-系统变量PATH后面添加Scrips的路径 而我的Python ...

  3. python找不到指定文件夹_python找不到指定文件

    python3.5.3 windows10 需要使用pydub整合音频文件,但是pydub需要的libav or ffmpeg.都下载不下来 代码:from pydub import AudioSeg ...

  4. python下载图片到文件夹_python实现解析markdown文档中的图片,并且保存到本地~

    背景 前阵子简书好像说是凉了,搞得我有点小慌,毕竟我的大部分博客都是放在简书上面的,虽然简书提供了打包导出功能,但是只能导出文字,图片的话还是存在简书服务器上面,再加上我一直想要重新做一个个人博客,于 ...

  5. 命令python所在的驱动器和文件夹_Python文件夹与文件的操作-阿里云开发者社区...

    最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在os模块中实现.使用时需先导入这个模块, ...

  6. python删除空文件和文件夹_python 两种方法删除空文件夹

    第一种方法: import os def delete_gap_dir(dir): if os.path.isdir(dir): for d in os.listdir(dir): #print(&q ...

  7. python判断路径是文件还是文件夹_python之判断是否是目录或文件

    在python中我们判断是否是目录还是文件用函数 os path. isdir .os. path .isfile 该函数作用就是判断是否是目录.判断是否是文件. 1.打开pycharm新建一pyth ...

  8. python解压到指定文件夹_Python:将文件解压缩到当前工作目录,但不保存zip中的目录结构...

    我有一个像这样的zip文件: myArchive.zip | -folder1 | --folder2 | ---myimage.jpg 当我尝试提取myimage.jpg时: with zipfil ...

  9. python 引用(import)文件夹下的py文件的方法

    Python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径. 下面将具体介绍几种常用情况: (1)主程序与模块程序在同一目录下: 如下面程序结构: `-- sr ...

最新文章

  1. wxWidgets:窗口删除
  2. Modelsim command line 传参数到 .do 文件
  3. 1477: 青蛙的约会
  4. 信用评分系统运行原理中篇-分箱逻辑
  5. 问题:'NoneType' object has no attribute 'encoding'
  6. 单元测试注意事项总结(一)
  7. 深度神经网络调参经验
  8. 093 类和对象的绑定方法和非绑定方法
  9. 【优化算法】社会群体优化算法(SGO)【含Matlab源码 1449期】
  10. 利用PLTS将校准用的“trace”一分为二 操作指南
  11. im源码 php,thinkphpim即时通讯源码
  12. 联想官方出品小工具:关闭或开启 Win10 系统自动更新
  13. Dubbo初识-入门
  14. 【第109期】那碗“我拒绝”的毒鸡汤,坑了多少游戏策划?
  15. linux gnuplot 教程,图形绘制利器:Gnuplot
  16. 互联网农民工没必要有优越感
  17. 计算机网络各层协议说明及常见协议
  18. 硬盘检测工具+linux,linux硬盘检测工具:Smartmontools使用指南
  19. vga分屏2个显示器_VGA多分屏聚合器和有趣的问题
  20. 一个有趣的SQL查询

热门文章

  1. C#:winform开发的System.AccessViolationException错误,已解决
  2. 90行代码让微信地球转起来,太酷了!(python实现)
  3. Python调用Windows API函数编写录音机和音乐播放器
  4. Spark 和 MR 的区别: 多进程与多线程模型
  5. Hadoop HA 深度解剖
  6. mongodb模糊查询_MongoDB技术从0到1+
  7. Two-Stream RNN/CNN for Action Recognition in 3D Videos-阅读笔记
  8. Pytorch 之autograd
  9. python单自由度振动计算-数据可视化2
  10. 数字图像处理--图像的缩放变换