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
相关推荐
问题描述 在使用paddlepaddle进行深度学习过程中...ModuleNotFoundError: No module named 'paddle.v2' 解决思路 更新到python3之后,这个包里的画图工具改变了,使用python2的可以使用,但实验python3就不行了,缺
压缩包中的“python 开发解决未安装模块导致 No module named 问题demo源码”应包含一个示例项目,展示了如何处理这类问题。通过阅读源码和使用说明,你可以看到实际应用中的解决方案,例如如何创建虚拟环境、如何...
在写 Python 项目的时候,我们可能经常会遇到导入模块失败的错误:ImportError: No module named ‘xxx’ 或者 ModuleNotFoundError: No module named ‘xxx’ 。 导入失败问题,通常分为两种:一种是导入自己写的...
首先,当出现 `ModuleNotFoundError: No module named 'xxx'` 错误时,这意味着Python解释器在当前的搜索路径(sys.path)中找不到指定的模块 'xxx'。sys.path 是一个包含所有可能模块位置的列表,包括当前工作目录...
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工程项目时,可能会出现ImportError: No module named 'xxx'错误。解决方法是创建PYTHONPATH变量,在这个环境变量中输入相关的路径,不同的路径之间用英文逗号分开。 六、解决 ...
首先,第一个问题是`ModuleNotFoundError: No module named 'mysql'`。这表明你的Python环境缺少与MySQL交互的模块。要解决这个问题,你需要使用Python的包管理器pip来安装`mysql-connector-python`模块,命令是`pip...
如果给出的名称既不是有效模块也不是包,Python会抛出`No module named xxx`的错误。 ### 发展演变 随着Python的发展,`-m`选项逐渐成为了一个重要的工具,尤其是在Python3中,许多标准库的命令行工具都改为了`-m`...
这个压缩包是为了帮助用户解决在Python 2.7环境中遇到的"No module named win32con"错误。这个问题通常出现在尝试使用与Windows系统交互的代码时,因为win32con是Python的pywin32库的一部分,该库提供了对Windows ...
ImportError: No module named 'xxx' ``` 其中,“xxx”代表具体的模块名称。这种情况下,我们需要检查几个方面来解决问题。 #### 二、检查Python环境 ##### 2.1 检查Python是否已安装目标module 首先,确保目标...
#### 二、模块未找到错误:`No module named 'pandas'` **错误描述:** 当尝试导入不存在的模块时会遇到此错误。例如,如果尝试导入`pandas`但该模块尚未安装,就会出现此错误。 **解决方法:** 1. **通过IDE安装...
1. **错误:ImportError: No module named 'XXX'** - 这种情况通常是由于PyInstaller未能正确检测到某些依赖库导致的。可以通过`--hidden-import`参数手动添加未被识别的模块。 ```bash pyinstaller --onefile --...
当使用`pyinstaller`打包项目时,若出现类似`Nomodule named 'xxx'`这样的错误提示,通常意味着某些必需的Python模块未被安装或未能正确识别。解决此类问题的方法是使用`pip install`命令安装相应的模块。 **示例...
- **No module named 'xxx'**:检查模块是否在`sys.path`中,或者在PyCharm的项目结构中设置正确。 - **ImportError: cannot import name 'yyy'**:确认被导入的函数或类名是否正确,避免大小写错误或拼写错误。 ...
如果在导入ExcelLibrary时遇到`No module named 'natsort'`的错误,说明缺少natsort库,可以通过`pip install natsort`命令安装这个依赖。 安装完成后,你可以开始使用ExcelLibrary读取Excel文件中的数据。例如,你...
如果在项目打包过程中出现No module named ‘xxx’错误,则将‘xxx’加入到manage.spec的hiddenimports即可,例如hiddenimports=[‘flask’, ’SQLAlchemy’],添加后重新打包项目启动后会弹出dos窗口,手动窗口则...
首先,当在运行`pyinstaller project.py`时,如果出现`No module named 'xxx'`的错误,这意味着你的项目中引用了一个未安装的模块。例如,如果你看到`No module named 'wx'`,你需要使用`pip install wxPython`来...
**问题1:** 安装过程中出现“No module named XXX”的错误。 - 检查是否所有依赖库都已正确安装。 - 如果问题仍然存在,尝试再次下载相关库,并重新安装。 **问题2:** 安装scipy后出现错误。 - 在安装完scipy之后,...