【问题标题】:ModuleNotFoundError when importing package that is installed in conda environment导入安装在 conda 环境中的包时出现 ModuleNotFoundError
【发布时间】:2019-03-18 21:05:55
【问题描述】:

无法从构建版本(conda 列表输出的第 3 列)导入缺少 python 版本/子版本的烧瓶迁移依赖项。

Flask-migrate 是从 conda-forge 安装的:

conda install -c conda-forge flask-migrate

同时安装了几个依赖,在conda list -n venv找到,但无法导入python。

(venv) C:\Users\Colin\Documents\Projects\microblog>python
Python 3.6.8 |Anaconda, Inc.| (default, Feb 21 2019, 18:30:04) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import alembic
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'alembic'

据我发现,导入时引发 ModuleNotFoundErrors 的包都缺少 conda 列表第 3 列中的 python 版本。

成功导入:py36_0 or py36_1000 or py36* etc.

ModuleNotFoundError:py_0 或 py_1

为什么在导入 python 时安装的包会引发ModuleNotFoundError

【问题讨论】:

  • 尝试手动激活 venv 和 pip install alembic?

标签: python-3.x flask anaconda conda flask-migrate


【解决方案1】:

我相信 py_0 环境的包都是从 conda 安装的 Noarch 包。我不确定为什么我的系统无法导入 Noarch 包,但我可以通过手动下载 win64-py36_0.tar.bz2 文件并使用以下方式在本地安装它们来解决该问题:

conda install /package-path/package-filename.tar.bz2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-23
    • 2021-08-28
    • 2022-01-01
    • 2018-12-29
    • 2019-05-04
    • 1970-01-01
    相关资源
    最近更新 更多