【ModuleNotFoundError & ImportError】之正确使用 Spyder

【ModuleNotFoundError & ImportError】之正确使用 Spyder,第1张

目录
  • 1 前言
  • 2 为 Spyder 设置 PYTHONPATH 变量
  • 3 正确使用 Spyder
    • 3.1.之前的错误
    • 3.2.对错误的改进
  • 4 总结
  • 5 环境


1 前言

提示:这里可以添加本文要记录的大概内容:

常常出现这样的错误:同时打开两个不同文件夹下的脚本文件,或者在一个文件夹里调用另一个文件夹下的脚本文件,结果,早上正常运行,下午就报 ModuleNotFoundError 或者 ImportError。通过之前对 sys.path 的学习,我认为主要的原因有两个:一是没有设置 PYTHONPATH 变量,二是当前工作目录一变,导入语句即报错。


提示:以下是本篇文章正文内容,下面案例可供参考

2 为 Spyder 设置 PYTHONPATH 变量
  1. 设置步骤:工具(T) ==> PYTHONPATH 管理器 ==> 添加路径 ==> OK
  2. 重要提醒:在设置之前,必须考虑的问题是,真的有必要吗?因为一旦设置,就意味着该路径会出现在 sys.path,且运行每个脚本文件时都会出现。官方文档上的说法是这样的:PYTHONPATH will affect all installed Python versions/environments. 翻译如下:PYTHONPATH 将影响所有已安装的 Python 版本/环境。
  3. 如果真的写了一个在很多程序中都需要的模块文件,不如直接建一个类似 site-package 的目录,专门存放。
  4. 看到这一篇博文对整个问题思考了很多,可以参考。
  5. Python 官方文档对 PYTHONPATH 的介绍如下:
3 正确使用 Spyder 3.1.之前的错误
  1. 由于不了解当前工作目录对 sys.path 的影响,致使导入语句常常报错。其实,未必是导入语句的问题。这些问题在这一段时间集中爆发了,使人近乎崩溃!
  2. 代码比较初级,都是100行之内,所以没有树立创建项目的意识,结果脚本文件零零散散。当时能够正常运行的代码,换了一个时间段就失败了。
3.2.对错误的改进
  1. 创建项目:项目 ==> 新建项目 ==> 项目名称 ==> 位置 ==> 创建
  2. 注意事项:注意代码导入语句的格式及代码运行时的工作目录。
  3. 建议多使用 from … import … (as…)
  4. 注意事项:当一个项目创建之后,当前的 PYTHONPATH 变量里自动添加项目路径,且不可删除。直到该项目完成,点击“关闭项目”,则该项目路径会自动退出 PYTHONPATH 变量。随后,若需再次打开该项目,点击“打开项目”,选择项目文件夹即可。这是核心。

4 总结
  1. 最深的感受就是:如果需要常常使用一个工具,了解其运行规则很有必要。
  2. 如果可以浏览外网的话,那么官方文件也很好。值得学习!可惜我看不了。
  3. 注意当前工作目录变化带来的 ModuleNotFoundError & ImportError。
  4. 最佳选择仍然是创建 Project 目录。
5 环境

Win7-64bit
Anaconda (Spyder 4.2.5, Python 3.7.10)
PyCharm 2020.3 (调用 conda 环境)

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/738167.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-28
下一篇2022-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存