【问题标题】:Can't import package that is installed in conda environment无法导入安装在 conda 环境中的包
【发布时间】:2022-01-02 22:05:16
【问题描述】:

以前有类似的问题,例如Can't import package after installing in a conda environmentModuleNotFoundError when importing package that is installed in conda environment,但我找不到适用于任何现有问题的解决方案。

我有一个名为“keras”的 conda env,我安装了各种软件包,包括其中的 keras。例如。如果我再次尝试安装 Keras,我会得到:

C:\Users\Ori Family>conda activate keras

(keras) C:\Users\Ori Family>conda install -c conda-forge keras
Collecting package metadata (current_repodata.json): done
Solving environment: done

# All requested packages already installed.

但该模块实际上并不可用。例如:

(keras) C:\Users\Ori Family>python
Python 3.9.7 (default, Sep 16 2021, 16:59:28) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from keras.models import Sequential
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'keras'

一切似乎都井井有条:

>>> import platform
>>> print(platform.architecture())
('64bit', 'WindowsPE')
>>> import sys
>>> for p in sys.path:
...   print(p)
...

C:\tools\anaconda3\envs\keras\python39.zip
C:\tools\anaconda3\envs\keras\DLLs
C:\tools\anaconda3\envs\keras\lib
C:\tools\anaconda3\envs\keras
C:\Users\Ori Family\AppData\Roaming\Python\Python39\site-packages
C:\tools\anaconda3\envs\keras\lib\site-packages
>>> print(sys.executable)
C:\tools\anaconda3\envs\keras\python.exe

我使用的是 conda 4.11.0,conda list -n keras 在输出中有这一行:

keras                     2.6.0            py39hd3eb1b0_0

关于如何解决/诊断/调试此问题的任何提示?

【问题讨论】:

  • 您是否查看过C:\tools\anaconda3\envs\keras\lib\site-packages 以查看其中是否有一个名为keras 的文件夹,其中包含所有适当的内容?
  • 谢谢。有keras_preprocessingKeras_Preprocessing-1.1.2.dist-info,但没有keras。如果这是一个问题,为什么我在尝试安装 keras 时没有收到任何错误?

标签: python keras anaconda conda


【解决方案1】:

你需要安装 Tensorflow 并改变你导入 Keras 的方式 -> tensorflow.keras.models.

# create a fresh env for keras
conda create -c conda-forge -n keras python=3.7 keras tensorflow
# use the env
conda activate keras

然后就可以导入了。

import tensorflow as tf
from tensorflow import keras
from tensorflow.keras.models import Sequential
print(f"{keras.__version__}")
# 2.6.0

【讨论】:

  • 谢谢。我使用的是与 tf2 不兼容的旧教程。不知道为什么它会让我安装,但之后不导入。这些应该一起工作......
猜你喜欢
  • 1970-01-01
  • 2022-01-01
  • 2018-12-29
  • 2018-07-04
  • 2020-08-18
  • 1970-01-01
  • 2021-02-27
  • 1970-01-01
  • 2021-08-04
相关资源
最近更新 更多