首页 > 解决方案 > 如何解决这个仅在 WebbPSF 环境中出现的 ModuleNotFoundError 错误?

问题描述

我正在尝试运行从https://github.com/szieleniewski/NIFSIM下载的代码来分析来自 JWSTelescope 的数据。在运行主文件 jwsim.py 时,我在其中一个定义上遇到模块错误。

我目前正在使用 Python 3.7、Ubuntu 16.04,并且我在一个环境(称为 webbpsf-env)下工作。这些细节无法更改,因为 WebbPSF(我在代码中使用的程序)需要这样的版本才能工作。主 jsim.py 文件存储在 Downloads 文件夹中。

我收到以下错误:

(webbpsf-env) aleejandrof@aleejandrof-Satellite-C55t-B:~/Downloads/NIFSIM-master$ python jsim.py
  *File* "jsim.py", line 18, in <module>
    *from* src.JSIM_main *import* main
  File "/home/aleejandrof/Downloads/NIFSIM-master/src/JSIM_main.py", line 22, in <module>
    *from* JSIM_Specres *import* spectral_res
ModuleNotFoundError: No module named 'JSIM_Specres'

提到的行是这一行:

from JSIM_Specres import spectral_res

有人告诉我,如果我在环境之外工作,可以找到该模块。对我来说,这不是一个选项,因为 Webbpsf 需要在环境中工作。我曾尝试在环境中(通过 pip)再次下载主文件,但无法完成。有没有办法将文件“插入”到环境中?我应该怎么办?

标签: pythonpython-3.xmodule

解决方案


作者可能预料到你有一个特定的环境变量集。尝试这个:

$ cd ../NIFSIM-master && env PYTHONPATH=.:src python jsim.py

推荐阅读