Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python MetPy与Pint软件包兼容性错误_Python_Pip_Anaconda_Metpy_Pint - Fatal编程技术网

Python MetPy与Pint软件包兼容性错误

Python MetPy与Pint软件包兼容性错误,python,pip,anaconda,metpy,pint,Python,Pip,Anaconda,Metpy,Pint,在我的Conda环境中,当我运行pip show MetPy时,我的第一行和最后两行是: Name: MetPy Version: 1.0 ... Requires: scipy, matplotlib, pandas, pyproj, pooch, importlib-resources, traitlets, importlib-metadata, numpy, pint, xarray Required-by: Name: Pint Version: 0.16.1 ... Requir

在我的Conda环境中,当我运行
pip show MetPy
时,我的第一行和最后两行是:

Name: MetPy
Version: 1.0
...
Requires: scipy, matplotlib, pandas, pyproj, pooch, importlib-resources, traitlets, importlib-metadata, numpy, pint, xarray
Required-by: 
Name: Pint
Version: 0.16.1
...
Requires: packaging, importlib-metadata
Required-by: MetPy
当我运行
pip show pint
时,我的第一行和最后两行是:

Name: MetPy
Version: 1.0
...
Requires: scipy, matplotlib, pandas, pyproj, pooch, importlib-resources, traitlets, importlib-metadata, numpy, pint, xarray
Required-by: 
Name: Pint
Version: 0.16.1
...
Requires: packaging, importlib-metadata
Required-by: MetPy
这些应该是这些软件包的最新版本。然而,当我尝试做

import metpy.calc as mpcalc
…我得到以下错误:

Traceback (most recent call last):
  File "redacted.py", line 17, in <module>
    import metpy.calc as mpcalc
  File "~/anaconda3/envs/environment/lib/python3.7/site-packages/metpy/calc/__init__.py", line 7, in <module>
    from .cross_sections import *  # noqa: F403
  File "~/anaconda3/envs/environment/lib/python3.7/site-packages/metpy/calc/cross_sections.py", line 14, in <module>
    from .tools import first_derivative
  File "~/anaconda3/envs/environment/lib/python3.7/site-packages/metpy/calc/tools.py", line 106, in <module>
    def find_intersections(x, a, b, direction='all', log_x=False):
  File "~/anaconda3/envs/environment/lib/python3.7/site-packages/pint/registry_helpers.py", line 248, in decorator
    % (func.__name__, count_params, len(args))
TypeError: find_intersections takes 5 parameters, but 3 units were passed
回溯(最近一次呼叫最后一次):
文件“redacted.py”,第17行,在
将metpy.calc导入为mpcalc
文件“~/anaconda3/envs/envs/environment/lib/python3.7/site packages/metpy/calc/_init__.py”,第7行,在
from.cross_sections import*#noqa:F403
文件“~/anaconda3/envs/environment/lib/python3.7/site packages/metpy/calc/cross_sections.py”,第14行,在
从。工具导入一阶导数
文件“~/anaconda3/envs/environment/lib/python3.7/site packages/metpy/calc/tools.py”,第106行,在
def find_交叉点(x、a、b、方向='all',log_x=False):
文件“~/anaconda3/envs/envs/environment/lib/python3.7/site packages/pint/registry\u helpers.py”,第248行,在decorator中
%(函数名、计数参数、len(args))
TypeError:find_交点采用5个参数,但传递了3个单位

这让我觉得我的软件包更新遗漏了一些东西。我缺少另一个依赖项吗?

看来您可能没有在您的conda环境中安装
pip
,或者您正在conda环境之外的某个地方运行
pip
,因此
pip show
可能会误导您。使用
conda list
,在您的conda环境中检查您的MetPy和Pint版本,因为这应该是MetPy(0.9)的旧版本之间的版本冲突错误


conda安装-c conda forge metpy==1.0
应使您的conda环境赶上metpy 1.0。

请将anaconda问题标记为,将pip问题标记为。此问题可能与特定软件包无关,因此问题标题具有误导性。如果这些软件包是与conda not pip一起安装的,则应使用
conda show
not
pip show…
。很可能安装的软件包版本有冲突,一个在conda下,一个在pip下。(最明显的检查方法是卸载与pip一起安装的)。我认为你是对的。我一直在通过pip进行安装,我相信这会把一切搞乱。完全通过conda forge从零开始安装新环境似乎解决了问题。很抱歉没有使用这些标签。我和梅蒂家的人有关系,所以我把这件事告诉了他们。新手海报移动。当我弄清楚如何关闭时,这可以关闭。