python文件无法作为模块被导入的原因分析及解决过程

 更新时间:2025年12月15日 11:21:39   作者:779醒  
文章介绍了在命令行中运行Python脚本时,如果引用了自己写的模块但找不到该模块的解决方法,方法包括临时添加项目路径到PYTHONPATH(通过命令行或环境变量)和永久添加(通过修改.bashrc文件或使用WinSCP工具)

开始跑测试程序,引用模块失败:

ModuleNotFoundError: No module named 'module_name'

由于引用了自己写的一个模块,没有加到PYTHONPATH,直接在pycharm运行是没问题,因为pycharm会默认把当前project加到sys.path.但是在命令行则不会报找不到自定义模块的错误设置项目的初始位置,在任何位置执行代码可以找到import 项目包不出错

一、临时添加

1、查看已有默认路径

并加入项目根目录所在路径

>>> import sys
>>> print(sys.path)
>>> sys.path.append('home/clouder/workspace/pycharm/xiaohui/scripts/common')
>>> print(sys.path)

2、命令行方式添加(有效)

手动把project项目路径加到PATHONPATH,默认没有这个环境变量的

多个路径用":"分隔

export PYTHONPATH="/home/ec2-user/program:"

二、永久添加

1、在用户目录下

找到隐藏文件.bashrc 文件

cd ~
ls -a	# 查看所有文件
find -name .bashrc # 查询位置

2、文本编辑模式修改

vim .bashrc
export PYTHONPATH=$PYTHONPATH:/home/ec2-user/program
# press esc
:wq	# 保存
source .bashrc

3、WinSCP修改

3.1 双击右下角已隐藏显示隐藏文件

3.2 传输选项-配置-选项-面板-通用-显示隐藏文件

3.3 快捷键ctrl+alt+h

export PYTHONPATH=$PYTHONPATH:/home/ec2-user/program
source .bashrc

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 利用Python的tkinter模块实现界面化的批量修改文件名

    利用Python的tkinter模块实现界面化的批量修改文件名

    这篇文章主要介绍了利用Python的tkinter模块实现界面化的批量修改文件名,用Python编写过批量修改文件名的脚本程序,代码很简单,运行也比较快,详细内容需要的小伙伴可以参考一下下面文章内容
    2022-08-08
  • python中内置库os与sys模块的详细介绍

    python中内置库os与sys模块的详细介绍

    这篇文章主要介绍了python中内置库os与sys模块的详细介绍,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • Python基础之元类详解

    Python基础之元类详解

    这篇文章主要介绍了Python基础之元类详解,文中有非常详细的代码示例,对正在学习python基础的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04
  • Python itertools模块详解

    Python itertools模块详解

    这篇文章主要介绍了Python itertools模块详解,本文基本是基于文档的翻译和补充,相当于翻译了,需要的朋友可以参考下
    2015-05-05
  • Python全栈之列表数据类型详解

    Python全栈之列表数据类型详解

    这篇文章主要给大家介绍了关于Python全栈之列表数据类型的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • np.hstack()和np.dstack()的使用

    np.hstack()和np.dstack()的使用

    本文主要介绍了np.hstack()和np.dstack()的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Python内存管理实例分析

    Python内存管理实例分析

    这篇文章主要介绍了Python内存管理,结合实例形式分析了Python对象的引用、垃圾回收、分配等相关原理与操作技巧,需要的朋友可以参考下
    2019-07-07
  • 关于如何使用python的gradio库

    关于如何使用python的gradio库

    这篇文章主要介绍了关于如何使用python的gradio库,Gradio是一个功能丰富的Python库,可以让您轻松创建和共享自己的交互式机器学习和深度学习模型,需要的朋友可以参考下
    2023-04-04
  • 详解Python中time()方法的使用的教程

    详解Python中time()方法的使用的教程

    这篇文章主要介绍了详解Python中time()方法的使用的教程,是Python入门学习中的基础知识,需要的朋友可以参考下
    2015-05-05
  • python爬虫的工作原理

    python爬虫的工作原理

    本文主要介绍了python爬虫的工作原理,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03

最新评论