长期程序员,但对python和metpy来说是新手。我正在尝试通过遵循unidata网站和youtube (metpy Monday)上的例子来学习。
我正在尝试构建一个简单的skew-t课程,然后遇到一个问题。当我尝试像这样使用导入时:
from datetime import datetime
from siphon.simplewebservice.wyoming import WyomingUpperAir
from metpy.units import units
import matplotlib.pyplot as plt
import metpy.plots as plots
%matplotlib inline我得到了这个错误:
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-4-afb9be7497de> in <module>
3 from metpy.units import units
4 import matplotlib.pyplot as plt
----> 5 import metpy.plots as plots
6
7 get_ipython().run_line_magic('matplotlib', 'inline')
C:\Miniconda_Python\envs\unidata\lib\site-packages\metpy\plots\__init__.py in <module>
17 logger = logging.getLogger(__name__)
18
---> 19 __all__ = ctables.__all__[:] # pylint: disable=undefined-variable
20 __all__.extend(declarative.__all__) # pylint: disable=undefined-variable
21 __all__.extend(skewt.__all__) # pylint: disable=undefined-variable
NameError: name 'ctables' is not defined我之前对这个导入没有任何问题,所以想知道这里发生了什么?我的环境中的包之间是否有不一致之处,或者是我遗漏了什么?我已经尝试更新所有内容,以确保我没有使用任何旧的东西。
作为参考,我使用的是带有python 3.7.7和metpy 0.12.1的conda版本4.8.3。如果我需要提供任何其他可能有帮助的信息,请告诉我。
提前感谢您的任何帮助/见解!
发布于 2020-05-21 05:03:59
所以这个问题是由CartoPy 0.18引起的。我们正在努力发布0.12.2版本的MetPy来解决这个问题。目前最好的解决办法是将CartoPy回滚到0.17。
https://stackoverflow.com/questions/61906331
复制相似问题