由于 Python 中的依赖项,无法导入模块
Impossible import a module due to a dependency in Python
我正在尝试在 Jupyter Notebook 中导入 gluonts,所以我通过以下方式安装了模块:
!pip install gluonts
然后我尝试从模块导入一个class:
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'})
问题是它想要 pandas 的更新版本,所以我这样做了:
!pip install -Iv pandas==1.0.5
但是,检查版本:
import pandas as pd
print(pd.__version__)
打印的不是1.0.5,而是0.24.2。您对如何强制正确安装或避免此问题有任何想法吗?
提前致谢。
你遇到的问题是你在导入后卸载了pandas,所以笔记本保留了旧版本,即使你导入了新安装的模块。要解决此问题,您必须在删除旧 pandas 并安装新版本后重新启动笔记本电脑。永久解决此问题的另一种方法是,在笔记本电脑启动后,卸载并在每次导入前更新 pandas。在阅读评论并尝试他们所说的内容后,我明白了这一点。
我正在尝试在 Jupyter Notebook 中导入 gluonts,所以我通过以下方式安装了模块:
!pip install gluonts
然后我尝试从模块导入一个class:
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'})
问题是它想要 pandas 的更新版本,所以我这样做了:
!pip install -Iv pandas==1.0.5
但是,检查版本:
import pandas as pd
print(pd.__version__)
打印的不是1.0.5,而是0.24.2。您对如何强制正确安装或避免此问题有任何想法吗? 提前致谢。
你遇到的问题是你在导入后卸载了pandas,所以笔记本保留了旧版本,即使你导入了新安装的模块。要解决此问题,您必须在删除旧 pandas 并安装新版本后重新启动笔记本电脑。永久解决此问题的另一种方法是,在笔记本电脑启动后,卸载并在每次导入前更新 pandas。在阅读评论并尝试他们所说的内容后,我明白了这一点。