当我在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控制台中以及在终端窗口中使用香草Python时成功运行上述import命令(即,此问题似乎仅针对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问题注释中建议了多种方法,最后进行主项目页面上描述的PyPI安装并没有带来更好的结果。
我在Ubuntu 18.04上看到了这种行为,Python版本是3.6。
任何人都可以告知导致此问题的原因和/或解决方法吗?预先感谢您的见解/建议。
答案 0 :(得分:0)
事实证明,这里的问题是我的项目中有一个名为azure
的源文件夹。一旦我将其重命名为其他名称,这个问题就消失了。 azure-storage-*
软件包仍未出现在PyCharm中该项目的解释器的已安装软件包列表中,但这是我现在可以接受的特质。