程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Pycharm ModuleNotFoundError: No module named // 从子目录导入 python 失败大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Pycharm ModuleNotFoundError: No module named // 从子目录导入 python 失败?

开发过程中遇到Pycharm ModuleNotFoundError: No module named // 从子目录导入 python 失败的问题如何解决?下面主要结合日常开发的经验,给出你关于Pycharm ModuleNotFoundError: No module named // 从子目录导入 python 失败的解决方法建议,希望对你解决Pycharm ModuleNotFoundError: No module named // 从子目录导入 python 失败有所启发或帮助;

我遇到过很多类似的问题和文章,尝试了很多不同的方法,但仍然无法找到问题所在。

我在 pycharm 中创建了一个新项目并将其设置为 root。然后在根级别创建了一个脚本,其中包含一些我想在子目录的脚本中导入的变量。

这是 unix tree 命令的结果:

@H_301_8@root_project ├── subfolder │   └── sub_script.py └── variables_i_need.py

variables_i_need.py 的内容很简单name = "john"

sub_script.py 的内容是

@H_301_8@from variables_i_need import name if __name__ == "__main__": print(Name)

现在,当我使用 sub_script 的

Pycharm ModuleNotFoundError: No module named // 从子目录导入 python 失败

播放按钮运行 sub_script.py 时,它可以工作并且运行控制台会打印:

@H_301_8@/usr/bin/python3.8 /home/root_project/subfolder/sub_script.py john Process finished with exit @R_41_6756@

但是当我尝试从命令行运行它时,它会中断:

python3 sub_script.py

@H_301_8@~/Desktop/root_project/subfolder » python3 sub_script.py gabri@gabrIEle-computer TraceBACk (most recent call last): file "sub_script.py",line 1,in <module> from variables_i_need import name ModuleNotFoundError: No module named 'variables_i_need'

解决方法

如果您查看 PyCharm 配置,有两个选项:

  1. 将内容根添加到 PYTHONPATH
  2. 将源根目录添加到 PYTHONPATH

它们被默认标记。

就您而言,第一个允许您正确运行脚本,因为它在 PYTHONPATH 环境变量中添加了 root_project 路径。

因此,如果您还想在命令行中运行脚本,您应该设置相同的变量。
你可以这样继续:

  1. 打开命令行

  2. 如果你使用的是 Linux,你可以使用

    导出 PYTHONPATH=

  3. 如果您使用的是 Windows,则可以使用

    SET PYTHONPATH=

  4. 运行脚本

    ~/Desktop/root_project/subfolder » python3 sub_script.py

请记住,export/set 命令不是永久的,它对当前命令行会话有效。

大佬总结

以上是大佬教程为你收集整理的Pycharm ModuleNotFoundError: No module named // 从子目录导入 python 失败全部内容,希望文章能够帮你解决Pycharm ModuleNotFoundError: No module named // 从子目录导入 python 失败所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。