问题描述
这是我第一次在这里发布。我对编码非常陌生,并且从学习python基础开始。我在MacOS 10.15.6上,使用anaconda发行版,当前PATH设置为:
$ echo $PATH
/Users/julian/opt/anaconda3/bin:/Users/julian/opt/anaconda3/condabin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
我在Atom中编辑脚本(外壳命令已安装并正常运行),并通过“脚本”包(版本3.26.0)运行它们。
到目前为止,我的环境没有任何问题,但是现在我正在上Allen B. Downey的ThinkStats课程,该课程通过GitHub ThinkStats2附带了编码补充。 我在Mac上分叉了存储库。当我尝试运行本书中提到的第一个文件(code / nfsg.py)时,其行为会有所不同,具体取决于我是通过Terminal还是通过Atom中的脚本包运行它。
当我在终端中运行它时,不会出现任何问题,并且会出现预期的输出:
$ python nsfg.py
(13593,244)
All tests passed.
当我在终端中导航到相同位置时,在Atom(atom nsfg.py)中打开脚本,然后通过脚本包运行它,将引发FileNotFoundError:
Traceback (most recent call last):
File "/Users/julian/Documents/Think_Stats/ThinkStats2/code/nsfg.py",line 164,in <module>
main()
File "/Users/julian/Documents/Think_Stats/ThinkStats2/code/nsfg.py",line 130,in main
resp = ReadFemResp()
File "/Users/julian/Documents/Think_Stats/ThinkStats2/code/nsfg.py",line 27,in ReadFemResp
dct = thinkstats2.ReadStataDct(dct_file)
File "/Users/julian/Documents/Think_Stats/ThinkStats2/code/thinkstats2.py",line 2847,in ReadStataDct
with open(dct_file,**options) as f:
FileNotFoundError: [Errno 2] No such file or directory: '2002FemResp.dct'
[Finished in 1.152s]
Screenshot of output from 'script' package in Atom
但是,我然后在同一位置创建了一个新文件,从nsfg复制了代码,并将其重命名以测试错误的出处。但是无需更改任何代码,只需运行副本以及原始副本即可产生与终端相同的输出(即,现在可以找到dct文件,并且脚本运行到最后没有任何错误)。 如果我关闭然后重新打开Atom,则在nsfg代码的两个版本中都会再次出现错误。
有人知道这是怎么回事吗?我已经到处查看PATH变量是否有问题,但似乎应该没问题吗?似乎创建新文件会以某种方式更新Atom或Atom的“脚本”包中的变量,从而清除了错误,但不是永久清除。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)