python:import自定义包或py文件时,pyCharm正常但终端运行提示ModuleNotFoundError: No module named错误

问题

示例项目引用items.py,项目在pycharm开发工具中可以正常运行,但使用终端直接运行会报错ModuleNotFoundError: No module named。如下图。

原因

pycharm开发工具运行正常,说明目录和引用模块是没问题的。问题在于终端的运行环境只搜索文件当前目录、已安装的内置模块和第三方模块,不会主动搜索其它目录,而pycharm可以根据项目的配置可以搜索引用目录(如设置了Source Boot)。

解决方案

在引用items之前,先使用sys.path将items.py所在目录添加到项目运行环境,终端也可以正常运行了。

import sys
print(sys.path) #查看当前python解释器搜索目录集合
import os
#print(os.path.dirname(__file__)) #当前文件所在绝对路径
prPath=os.path.dirname(os.path.dirname(__file__)) #当前文件所在绝对路径的上一级路径
print(prPath) #items所在目录
sys.path.append(prPath) #将items所在目录添加到运行环境

以上问题解决完毕。

如果我的文章解决了你的问题,欢迎点赞、收藏或评论。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-19 17:12:02       91 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-19 17:12:02       97 阅读
  3. 在Django里面运行非项目文件

    2023-12-19 17:12:02       78 阅读
  4. Python语言-面向对象

    2023-12-19 17:12:02       88 阅读

热门阅读

  1. MVC环境搭建

    2023-12-19 17:12:02       47 阅读
  2. 开源许可证保姆级入门手册

    2023-12-19 17:12:02       61 阅读
  3. Python编程语言简介

    2023-12-19 17:12:02       72 阅读
  4. cc攻击之随机参数脚本

    2023-12-19 17:12:02       63 阅读
  5. 你会处理 go 中的 nil 吗

    2023-12-19 17:12:02       51 阅读
  6. 高德map点标记随zoom缩放位置不变

    2023-12-19 17:12:02       55 阅读
  7. Linux 硬链接和软链接

    2023-12-19 17:12:02       70 阅读
  8. 【Spring】Spring AOP

    2023-12-19 17:12:02       44 阅读