【发布时间】:2019-09-08 19:22:09
【问题描述】:
当我在 PyCharm 中调试一些代码时,我遇到了一个找不到模块的错误,即使包已安装并且导入是有效的:
from azure.storage.blob.blockblobservice import BlockBlobService
ModuleNotFoundError: No module named 'azure.storage'
当我从 PyCharm 启动代码(即运行而不是调试)时,上述情况不会发生,所以我最初怀疑这是调试器特有的。 azure-storage 包是我见过的唯一一个导致此问题的包,因此可能是包装以某种方式被弄坏并导致了问题。 (我怀疑这是因为I'm not the first to experience something like this.)
我可以在 PyCharm 的 Python 控制台中以及在终端窗口中使用 vanilla Python 时成功运行上述导入命令(即,这个问题似乎只针对 PyCharm 调试器)。
我已经通过 PyPI 将 azure-storage 安装到 PyCharm 项目使用的 Anaconda 虚拟环境中。当我列出已安装的包时,我可以看到包:
$ conda list | grep azure
azure-common 1.1.16 <pip>
azure-storage-blob 1.3.1 <pip>
azure-storage-common 1.3.0 <pip>
azure-storage-nspkg 3.0.0 <pip>
有趣的是,没有一个 azure 包出现在 PyCharm 中项目解释器的已安装包列表中。所以从某种意义上说,PyCharm 找不到这些包,即使它们清楚地安装在用作项目解释器的 Anaconda 虚拟环境中。
我已经安装并重新安装了azure-storage 在其他 SO 帖子和 GitHub 问题 cmets 中建议的多种方式,最后使用主项目页面上描述的 PyPI 安装并没有得到更好的结果。
我在 Ubuntu 18.04 上看到了这种行为,Python 版本是 3.6。
什么可能导致这个问题,或者有没有办法解决它?
【问题讨论】:
标签: python azure pycharm azure-storage