
1.6 及时更新Qiskit环境
Qiskit是一个不断更新的开源编程环境。在撰写本书的过程中,我经历了Qiskit软件次版本和主版本的多次更新。
通常,及时更新并使用最新版本的Qiskit是明智之举,但有时进行更新后,一些代码组件的行为可能会发生变化。建议读者仔细阅读每个新版本的发布说明。有时,版本更新引入的变更会改变用户代码的行为方式。在这种情况下,读者可以推迟更新,直到验证自己的代码仍然按预期工作。
如果读者使用的是Anaconda环境,则可以为不同版本的Qiskit启用多个编程环境,这样,即使某次Qiskit版本更新破坏了代码,还有一个备用环境可以使用。
Qiskit更新得很快
IBM Quantum Experience的Notebook环境总是会运行最新版本的Qiskit,建议读者在更新本地环境之前,在Notebook环境中测试自己的代码。
读者也可以按照以下步骤订阅Qiskit的更新通知,获取新版本发布的时间。
(1)通过IBM Quantum官方网站的登录页面登录IBM Quantum Experience。
(2)在IBM Quantum Experience主页面的右上角找到用户图标,点击该图标,选择“My account”。
(3)在账号页面的“Notification”设置中,将“Updates and new feature announcements”设置为“On”。
1.6.1 准备工作
如果读者有不止一个环境,则在开始更新Qiskit环境之前,需要在每个环境中验证自己所运行的Qiskit的版本。
在每个环境中,都可以从命令行、IDE(如Spyder)或Jupyter Notebook中启动Python,然后运行以下代码:
>>> import qiskit >>> qiskit.__qiskit_version__
如果读者安装了旧版本的Qiskit,运行上述代码可能会输出以下结果:
{'qiskit-terra': '0.9.0', 'qiskit-aer': '0.3.0', 'qiskit-ibmqprovider': '0.3.0', 'qiskit-aqua': '0.6.0', 'qiskit': '0.12.0'}
之后,读者就可以跳转到Qiskit的“Release Notes”页面,查看是否有更新的版本可供下载。
这些步骤的作用都是验证Qiskit版本是否正确。整个过程都可以在Python中自动进行。顺着这个思路,本书将带领读者进行下一部分内容的学习。
1.6.2 操作步骤
(1)激活虚拟环境。
$ conda activate environment_name
(2)执行如下命令,以检查虚拟环境的pip包是否已过时。
(environment_name) … $ pip list –outdated
(3)该命令会返回如下列表,列表中包含用户目前所有已过时的pip包,并列出可用的版本。
Example: Package Version Latest Type ------------------ ------- ------- ----- … qiskit 0.19.6 0.21.0 sdist qiskit-aer 0.5.2 0.6.1 wheel qiskit-aqua 0.7.3 0.7.5 wheel qiskit-ibmq-provider 0.7.2 0.9.0 wheel qiskit-ignis 0.3.3 0.4.0 wheel qiskit-terra 0.14.2 0.15.1 wheel …
(4)使用pip命令更新Qiskit。
(environment_name) … $ pip install qiskit –upgrade
(5)在命令行中验证Qiskit是否安装成功。
(environment_name)… $ pip show qiskit
该操作的返回结果类似如下所示:
Name: qiskit Version: 0.21.0 Summary: Software for developing quantum computing programs Home-page: https://git×××/Qiskit/qiskit Author: Qiskit Development Team Author-email: qiskit@us.ibm.com License: Apache 2.0 Location: /Users/hassi/opt/anaconda3/envs/packt_qiskit/lib/python3.7/site-packages Requires: qiskit-aer, qiskit-terra, qiskit-aqua, qiskit-ignis, qiskit-ibmq-provider Required-by: …
(6)验证Qiskit是否已集成到了自己的独立环境中的Python上。
① 打开Python:
(environment_name)… $ python3
② 导入Qiskit:
>>> import qiskit
③ 列出详细的版本信息:
>>> qiskit.__qiskit_version__
④ 执行该命令后,会显示已安装的Qiskit组件的版本:
{'qiskit-terra': '0.15.2', 'qiskit-aer': '0.6.1', 'qiskit-ignis': '0.4.0', 'qiskit-ibmq-provider': '0.9.0', 'qiskit-aqua': '0.7.5', 'qiskit': '0.21.0'}
恭喜,Qiskit已经成功更新了,读者现在运行的是最新版本!
1.6.3 运行原理
不同读者使用本书的方式不同,部分读者可能初次阅读关于Qiskit的教程时就读到了这个更新过程,刚刚安装了Qiskit,并不需要更新。这种情况的读者可以标注一下1.6节,然后继续往后阅读,以后在进行Qiskit更新时再翻回来看这一部分。
pip工具可以管理用户的每个虚拟环境的软件包的更新。正如本书之前所提到的,如果读者有多个虚拟环境,建议对其分阶段进行更新。
读者可以更新某一个虚拟环境,并试着在该环境中运行自己的量子程序,以确保该新版本不会对自己的代码造成任何不利的影响。
好的,到这里为止,读者应该已经跟随本书的指引,正确地设置了一个或多个可以运行量子程序的Qiskit环境。如果读者觉得已经准备就绪,现在就可以跳转到第4章,开始使用Qiskit在Python中进行量子编程,开启量子计算世界的奇妙探险。如果读者准备学习一些预备内容,大致了解量子计算机编程,可以从第2章开始学习,了解什么是量子比特和量子门;也可以翻到第3章,使用IBM Quantum Experience的交互式编程界面,直观地感受量子编程。
无论读者选择哪条学习路径,都不必过分担心,因为本书会引导读者使用Python完成复杂的工作。再次祝读者能够体会到学习量子编程的快乐!