无法从 Qiskit 0.7 导入 Aer
Cannot import Aer from Qiskit 0.7
我在 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 terra (https://github.com/Qiskit/qiskit-terra) GitHub 上的存储库,在示例中他们使用了 BasicAer。所以,我认为他们重命名为 module.
事实上,我也遇到了同样的问题:Windows 10 上的 Anaconda 3。后来我在 travis CI python 3.5 和 3.6 构建映像上遇到了同样的问题。对于两者,我都有一个相似但不同的解决方案。相似之处在于它似乎是一个缺失的依赖项。模拟器的代码是用 C++ 或现在的 Cython 编写的。所以他们使用了一些您的设置可能没有的依赖项。
这是相似之处结束的地方。我做了什么:
Windows 10 / Anaconda 设置
使用依赖项 walker http://www.dependencywalker.com/ I found out that the openblas.dll is missing as dependency. Interesting enough, in the legacy simulators the qiskit team provided one. So you could either use this one or download (and rename!!) the latest binary from https://www.openblas.net/。然后将其复制到您的 site-packages 文件夹中。当您找到具有排序名称的文件时,您就知道您找到了正确的文件夹
- unitary_controller_wrapper.pyd
- statevector_controller_wrapper.pyd
- qasm_controller_wrapper.pyd
特拉维斯 CI python >= 3.5 图片
另一方面,我对相同的解释(和解决方案)感到困惑,所以我查看了 qiskit-aer 存储库的 .travis
设置。在这里你看到,他们使用(以及其他指令)
- sudo apt-get -y install g++-7
- sudo apt-get -y install libopenblas-dev
我将它用于我的 travis CI 并且 - 瞧 - 它有效。在此之前,我使用了 ldd
和 readelf
,它指向了一些我不记得的库,但似乎 qiskit-aer 依赖于它,你可以使用更新版本的g++.
不知道这是否能解决您的问题。
要解决此问题,请尝试单独导入 Aer。例如:
from qiskit import QuantumCircuit, QuantumRegister, execute, Aer, IBMQ
我希望这能回答你的问题
尝试以下操作:
from qiskit.providers.aer import Aer
可能是pip install qiskit==0.27.0
和conda install qiskit==0.27.0
之间的问题,conda(或jupyter)无法使用直接安装在pip中的qiskit。
因此,我建议你在conda中重新安装。
我在 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 terra (https://github.com/Qiskit/qiskit-terra) GitHub 上的存储库,在示例中他们使用了 BasicAer。所以,我认为他们重命名为 module.
事实上,我也遇到了同样的问题:Windows 10 上的 Anaconda 3。后来我在 travis CI python 3.5 和 3.6 构建映像上遇到了同样的问题。对于两者,我都有一个相似但不同的解决方案。相似之处在于它似乎是一个缺失的依赖项。模拟器的代码是用 C++ 或现在的 Cython 编写的。所以他们使用了一些您的设置可能没有的依赖项。 这是相似之处结束的地方。我做了什么:
Windows 10 / Anaconda 设置
使用依赖项 walker http://www.dependencywalker.com/ I found out that the openblas.dll is missing as dependency. Interesting enough, in the legacy simulators the qiskit team provided one. So you could either use this one or download (and rename!!) the latest binary from https://www.openblas.net/。然后将其复制到您的 site-packages 文件夹中。当您找到具有排序名称的文件时,您就知道您找到了正确的文件夹
- unitary_controller_wrapper.pyd
- statevector_controller_wrapper.pyd
- qasm_controller_wrapper.pyd
特拉维斯 CI python >= 3.5 图片
另一方面,我对相同的解释(和解决方案)感到困惑,所以我查看了 qiskit-aer 存储库的 .travis
设置。在这里你看到,他们使用(以及其他指令)
- sudo apt-get -y install g++-7
- sudo apt-get -y install libopenblas-dev
我将它用于我的 travis CI 并且 - 瞧 - 它有效。在此之前,我使用了 ldd
和 readelf
,它指向了一些我不记得的库,但似乎 qiskit-aer 依赖于它,你可以使用更新版本的g++.
不知道这是否能解决您的问题。
要解决此问题,请尝试单独导入 Aer。例如:
from qiskit import QuantumCircuit, QuantumRegister, execute, Aer, IBMQ
我希望这能回答你的问题
尝试以下操作:
from qiskit.providers.aer import Aer
可能是pip install qiskit==0.27.0
和conda install qiskit==0.27.0
之间的问题,conda(或jupyter)无法使用直接安装在pip中的qiskit。
因此,我建议你在conda中重新安装。