由于Python中的依赖关系,无法导入模块

时间:2020-06-24 13:53:59

标签: python pandas jupyter-notebook python-module gluon

我正在尝试在Jupyter Notebook中导入胶结,因此我通过以下方式安装了模块:

!pip install gluonts

然后我尝试从模块中导入一个类:

from gluonts.trainer import Trainer

但是我得到了这个例外:

ContextualVersionConflict                 Traceback (most recent call last)
<ipython-input-3-d4623db96f76> in <module>()
----> 1 from gluonts.trainer import Trainer
      2 from gluonts.dataset.common import ListDataset
      3 from gluonts.model.deepar import DeepAREstimator

~/anaconda3/envs/mxnet_p36/lib/python3.6/site-packages/gluonts/__init__.py in <module>()
     21 
     22 try:
---> 23     __version__ = get_distribution(__name__).version
     24 except DistributionNotFound:
     25     __version__ = "0.0.0-unknown"

...

~/anaconda3/envs/mxnet_p36/lib/python3.6/site-packages/pkg_resources/__init__.py in resolve(self, requirements, env, installer, replace_conflicting, extras)
    781                 # Oops, the "best" so far conflicts with a dependency
    782                 dependent_req = required_by[req]
--> 783                 raise VersionConflict(dist, req).with_context(dependent_req)
    784 
    785             # push the new requirements onto the stack

ContextualVersionConflict: (pandas 0.24.2 (/home/ec2-user/anaconda3/envs/mxnet_p36/lib/python3.6/site-packages), Requirement.parse('pandas~=1.0'), {'gluonts'})

问题是它希望拥有较新版本的熊猫,所以我这样做了:

!pip install -Iv pandas==1.0.5

但是,请使用以下命令检查版本:

import pandas as pd
print(pd.__version__)

打印的不是1.0.5,而是0.24.2。您是否有关于如何强制正确安装或避免此问题的想法? 预先感谢。

1 个答案:

答案 0 :(得分:0)

您遇到的问题是,在导入大熊猫后,您已将其卸载,因此即使您导入了新安装的模块,笔记本电脑仍保留旧版本。为了解决该问题,您必须在删除旧熊猫并安装新版本后重新启动笔记本计算机。永久解决此问题的另一种方法是在笔记本启动后立即在每次导入之前卸载并更新熊猫。在阅读评论并尝试他们说的内容后,我才明白这一点。