Mac系统Anaconda环境IDLE无法导入自定义stock文件问题咨询
Mac环境Anaconda下自定义stock模块IDLE导入失败核心原因
- Python解释器不匹配
你启动的IDLE绑定的Python解释器并非Anaconda自带的Python版本。Anaconda3文件夹下的模块默认仅会被Anaconda自带的Python扫描加载,如果你打开的是Mac系统预装Python对应的IDLE,其搜索路径不会包含Anaconda3的相关目录,自然无法导入存放在Anaconda3下的stock文件。你可以在IDLE中执行import sys; print(sys.executable)验证当前解释器路径,确认输出是否为Anaconda3目录下的Python程序。 - 模块存放路径未加入Python搜索路径
即使用的是Anaconda对应的IDLE,也只有默认纳入sys.path的目录会被Python扫描,如果你只是随意将stock文件放在Anaconda3的根目录或者其他非标准子目录中,该路径没有被加入搜索列表的话同样导入失败。可在IDLE中执行import sys; print(sys.path)查看当前搜索路径列表,确认stock文件所在目录是否在列表内。 - 文件命名或格式问题
第一种可能是文件名冲突:stock这个名称和Python内置模块、或你已经通过Anaconda安装的第三方库重名,导入时会优先加载同名的官方/第三方模块,无法加载你自定义的文件。第二种是文件后缀异常:Mac默认会隐藏常用文件后缀,你保存的文件实际后缀可能是.py.txt而非.py,Python无法识别为可导入的模块。第三种是文件名包含特殊字符、空格,也会导致导入失败。 - 文件权限不足
如果你的Anaconda安装在系统级目录(比如/opt/anaconda3或/Applications/Anaconda3),普通用户默认没有对这些目录的写入、读取权限,你存放在该目录下的stock文件如果没有开启读权限,Python也无法读取加载该模块。
内容的提问来源于stack exchange,提问作者baguette
相关产品推荐
相关产品推荐

