`

python开发中解决: No module named xxx

阅读更多

 

 python开发中 No module named xxx  ,是比较常见的问题,今天只探讨其中的一种情况:

同一目录内,a.py 无法import b.py 产生的No module named b 

 

同一文件夹内,新建a.py无法导入已存在的b.py

import b

 我的pthon环境:

python3.9  官网下载的zip包

pycharm 2022.1

折腾了三天三夜,都难以解决。

在折腾的过程中,也算是了解到了一些东西,记录下来。

 

import导入py模块,这个文件明明存在,肉眼可见的存在,但python解释器就是找不到。

核心原因很简单,当前目录不在python解释器执行搜索目录中,说到这里就不得不到提到一个东西:sys.path , sys是python内置库。python解释器搜索路径是按sys.path列表进行

来打印看看:

import sys

print('sys path:', sys.path)

 你检查一下,当前py文件目录是否存在。确实没有当前目录

 

 

解决办法:

1、sys.path中添加当前目录

import sys

sys.path.append('')

 这是什么鬼

>>> import sys
>>> sys.path
['', '/opt/ros/melodic/lib/python2.7/dist-packages', '/home/xxx/anaconda3/lib/python37.zip', '/home/xxx/anaconda3/lib/python3.7', '/home/xxx/anaconda3/lib/python3.7/lib-dynload', '/home/xxx/anaconda3/lib/python3.7/site-packages']
>>>

 看到没,你的sys.path中有一个空字符。因为这个空字符串的存在,import时他就能从当前目录中查找python模块;

 

2、把当前目录加入sys.path中,也可以这样写:

import sys , os


sys.path = [os.path.dirname(__file__)] + sys.path

 

以上方法1、2都可以解决import找不到已定义py模块问题。但是,项目中文件目录多了,每个py文件都写这,显得非常不python。。。 

于是:

 

3、还有人,认为应该删除python目录下的pth文件。

类似这样的: python39._pth 

不过我没有测试这个方法,我认为这些方式都是不够好的解决方式。

 

 

 

我认为是因为:

我的python解释器采用zip包解压,添加到系统path中这种安装方式,导致的环境不兼容。

 

于是,

删除zip这种方式安装的python,重新下载了exe格式的python安装,问题也得到了解决,同目录内的自己写的py文件就能import

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    问题解决:ImportError: No module named paddle.v2

    问题描述 在使用paddlepaddle进行深度学习过程中...ModuleNotFoundError: No module named 'paddle.v2' 解决思路 更新到python3之后,这个包里的画图工具改变了,使用python2的可以使用,但实验python3就不行了,缺

    python 开发解决未安装模块导致 No module named 问题demo源码+使用说明.zip

    压缩包中的“python 开发解决未安装模块导致 No module named 问题demo源码”应包含一个示例项目,展示了如何处理这类问题。通过阅读源码和使用说明,你可以看到实际应用中的解决方案,例如如何创建虚拟环境、如何...

    Python 实现自动导入缺失的库

    在写 Python 项目的时候,我们可能经常会遇到导入模块失败的错误:ImportError: No module named ‘xxx’ 或者 ModuleNotFoundError: No module named ‘xxx’ 。 导入失败问题,通常分为两种:一种是导入自己写的...

    python 服务器运行代码报错ModuleNotFoundError的解决办法

    首先,当出现 `ModuleNotFoundError: No module named 'xxx'` 错误时,这意味着Python解释器在当前的搜索路径(sys.path)中找不到指定的模块 'xxx'。sys.path 是一个包含所有可能模块位置的列表,包括当前工作目录...

    Python使用googletrans报错的解决方法

    File "xxx.py", line 5, in <module> result = translator.translate("Result from google translator", dest="zh-CN") File "/usr/lib/python3.4/site-packages/googletrans/client.py", line 172, in translate...

    python+selenium+unittest环境搭建1

    在使用命令行运行Python工程项目时,可能会出现ImportError: No module named 'xxx'错误。解决方法是创建PYTHONPATH变量,在这个环境变量中输入相关的路径,不同的路径之间用英文逗号分开。 六、解决 ...

    Python技术数据库操作中常见问题解答.docx

    首先,第一个问题是`ModuleNotFoundError: No module named 'mysql'`。这表明你的Python环境缺少与MySQL交互的模块。要解决这个问题,你需要使用Python的包管理器pip来安装`mysql-connector-python`模块,命令是`pip...

    Python 中 -m 的典型用法、原理解析与发展演变

    如果给出的名称既不是有效模块也不是包,Python会抛出`No module named xxx`的错误。 ### 发展演变 随着Python的发展,`-m`选项逐渐成为了一个重要的工具,尤其是在Python3中,许多标准库的命令行工具都改为了`-m`...

    pywin32-225.win-amd64-py2.7.exe 压缩包

    这个压缩包是为了帮助用户解决在Python 2.7环境中遇到的"No module named win32con"错误。这个问题通常出现在尝试使用与Windows系统交互的代码时,因为win32con是Python的pywin32库的一部分,该库提供了对Windows ...

    解决pyCharm中 module 调用失败的问题

    ImportError: No module named 'xxx' ``` 其中,“xxx”代表具体的模块名称。这种情况下,我们需要检查几个方面来解决问题。 #### 二、检查Python环境 ##### 2.1 检查Python是否已安装目标module 首先,确保目标...

    Python错误.md

    #### 二、模块未找到错误:`No module named 'pandas'` **错误描述:** 当尝试导入不存在的模块时会遇到此错误。例如,如果尝试导入`pandas`但该模块尚未安装,就会出现此错误。 **解决方法:** 1. **通过IDE安装...

    python程序打包成exe文件的具体方法

    1. **错误:ImportError: No module named 'XXX'** - 这种情况通常是由于PyInstaller未能正确检测到某些依赖库导致的。可以通过`--hidden-import`参数手动添加未被识别的模块。 ```bash pyinstaller --onefile --...

    详解pyinstaller生成exe的闪退问题解决方案.docx

    当使用`pyinstaller`打包项目时,若出现类似`Nomodule named 'xxx'`这样的错误提示,通常意味着某些必需的Python模块未被安装或未能正确识别。解决此类问题的方法是使用`pip install`命令安装相应的模块。 **示例...

    Test_package.zip

    - **No module named 'xxx'**:检查模块是否在`sys.path`中,或者在PyCharm的项目结构中设置正确。 - **ImportError: cannot import name 'yyy'**:确认被导入的函数或类名是否正确,避免大小写错误或拼写错误。 ...

    python读取robot文件内容-RobotFrameWork读取excel等文件数据.pdf

    如果在导入ExcelLibrary时遇到`No module named 'natsort'`的错误,说明缺少natsort库,可以通过`pip install natsort`命令安装这个依赖。 安装完成后,你可以开始使用ExcelLibrary读取Excel文件中的数据。例如,你...

    flask创建打包部署.docx

    如果在项目打包过程中出现No module named ‘xxx’错误,则将‘xxx’加入到manage.spec的hiddenimports即可,例如hiddenimports=[‘flask’, ’SQLAlchemy’],添加后重新打包项目启动后会弹出dos窗口,手动窗口则...

    详解pyinstaller生成exe的闪退问题解决方案

    首先,当在运行`pyinstaller project.py`时,如果出现`No module named 'xxx'`的错误,这意味着你的项目中引用了一个未安装的模块。例如,如果你看到`No module named 'wx'`,你需要使用`pip install wxPython`来...

    Windows下为Python安装Matplotlib模块

    **问题1:** 安装过程中出现“No module named XXX”的错误。 - 检查是否所有依赖库都已正确安装。 - 如果问题仍然存在,尝试再次下载相关库,并重新安装。 **问题2:** 安装scipy后出现错误。 - 在安装完scipy之后,...

Global site tag (gtag.js) - Google Analytics