【问题标题】:Cannot import Aer from Qiskit 0.7无法从 Qiskit 0.7 导入 Aer
【发布时间】:2018-12-26 08:46:53
【问题描述】:

我在 Anaconda 中创建了一个新的虚拟环境,并使用 pip 安装了几个包(即 numpy、scipy、matplotlib、qiskit 以及可能还有 1 或 2 个)。我打开解释器并尝试从 Qiskit 导入一个模块:

from qiskit import Aer

结果,我得到了ImportError: cannot import name 'Aer'。我的理解是 Qiskit 0.7 的模块结构不同(我在文档中的任何地方都找不到),或者我的设置存在某种冲突。我怎么知道是什么情况以及如何解决?

编辑:我有一个双启动系统。该问题出现在 Windows 10 上的 Anaconda 上,但不会出现在纯 Python 上的 Ubuntu 18 上。所以我认为它必须是 Anaconda 而不是 Qiskit。

编辑 2:我已经全新安装了 Python(没有 Anaconda),但问题仍然存在。

【问题讨论】:

  • 谢谢你们的回答!我什至不记得我是如何摆脱这个问题的 :( 我想我在 qiskit 的 github 页面上提出了一个问题,他们建议从源代码重建它。我决定不打扰并继续在 Linux 上做所有事情。不过,现在的问题肯定已经过时了,因为 Qiskit 的当前版本远高于 0.7

标签: python python-import qiskit


【解决方案1】:

我遇到了同样的问题。我查看了 qiskit terra (https://github.com/Qiskit/qiskit-terra) 在 GitHub 上的存储库,在示例中他们使用了 BasicAer。所以,我认为他们重命名为模块。

【讨论】:

  • 感谢您的解决方法!然而,似乎 Qiskit 并没有对此感到内疚(见编辑)
【解决方案2】:

确实,我也遇到了同样的问题:Windows 10 上的 Anaconda 3。后来我在 travis CI python 3.5 和 3.6 构建映像上遇到了同样的问题。对于两者,我都有一个相似但不同的解决方案。相似之处在于它似乎是一个缺失的依赖项。模拟器的代码是用 C++ 或现在的 Cython 编写的。所以他们使用了一些你的设置可能没有的依赖项。 相似之处到此结束。我做了什么:

Windows 10 / Anaconda 设置

使用依赖walker http://www.dependencywalker.com/ 我发现openblas.dll 作为依赖项丢失了。有趣的是,qiskit 团队在旧版模拟器中提供了一个。所以你可以使用这个或者从https://www.openblas.net/下载(并重命名!!)最新的二进制文件。然后将其复制到您的站点包文件夹中。当您找到具有排序名称的文件时,您就知道您找到了正确的文件夹

  • unitary_controller_wrapper.pyd
  • statevector_controller_wrapper.pyd
  • qasm_controller_wrapper.pyd

Travis CI python >= 3.5 图片

另一方面,我对相同的解释(和解决方案)不知所措,所以我查看了 qiskit-aer 存储库的 .travis 设置。在这里你看到,他们使用(在其他指令中) - sudo apt-get -y install g++-7 - sudo apt-get -y install libopenblas-dev 我将它用于我的 travis CI 并且 - 瞧 - 它有效。在此之前,我使用了lddreadelf,它指向了一些我不记得的库,但似乎 qiskit-aer 依赖于它,而你可以通过更新版本的 g++ 获得它。

我想知道这是否能解决您的问题。

【讨论】:

    【解决方案3】:

    要解决这个问题,请尝试单独导入 Aer。例如:

    from qiskit import QuantumCircuit, QuantumRegister, execute, Aer, IBMQ
    

    我希望这能回答你的问题

    【讨论】:

    • 这和from qiskit import Aer有什么不同?
    • 是一样的,但是我的版本也导入了其他的东西。
    【解决方案4】:

    尝试以下方法:

    from qiskit.providers.aer import Aer 
    

    【讨论】:

      【解决方案5】:

      这可能是pip install qiskit==0.27.0conda install qiskit==0.27.0 之间的问题,conda(或 jupyter)不能使用直接安装在 pip 中的 qiskit。 因此,我建议你应该在 conda 中重新安装。

      【讨论】:

        猜你喜欢
        • 2020-11-26
        • 2021-08-26
        • 2022-07-07
        • 2021-10-01
        • 2020-09-16
        • 1970-01-01
        • 1970-01-01
        • 2021-05-17
        • 1970-01-01
        相关资源
        最近更新 更多