1.4 下載示例代碼
本書操作配方中包含的示例程序長短不一,這些示例有助于引導讀者邁出量子計算機編程的第一步。讀者可以按照本書中的指引,親自動手輸入這些程序的代碼,但是方便起見,讀者也可以從Packt出版社的GitHub倉庫或本書配套資源中直接獲取示例代碼。
本書中的Python示例代碼是為使用3.5及以上版本的Python并在自己的Python環境中安裝了Qiskit的用戶編寫的。這些Python示例代碼都保存在以.py為擴展名的腳本文件中。
1.4.1 準備工作
讀者既可以直接在自己的Python環境中輸入這些操作配方,也可以將其輸入IBM Quantum Experience或本地Anaconda環境中的Jupyter Notebook[9]中,但直接下載代碼或使用Git將示例代碼克隆到本地環境中更高效。克隆代碼的優點是,如果示例代碼有任何更新,可以通過遠程代碼倉庫刷新本地文件。
[9] Jupyter Notebook是一個共享的Python記事本,可以用于編寫Python、R、Julia、JavaScript等的代碼,支持Markdown格式。——譯者注
如果讀者不打算使用Git克隆,而是以壓縮文件的方式下載這些示例代碼,可以按照1.4.2節中相應的操作步驟進行操作。
讀者必須先進行以下操作,才能使用Git克隆示例代碼。
(1)獲取一個GitHub賬號。讀者可以在GitHub官方網站免費注冊一個賬號。
(2)在本地環境中安裝Git。更多相關信息,參見Git官方網站的幫助文檔。
(3)如果讀者習慣使用用戶界面,可能還需要安裝GitHub桌面版(GitHub Desktop)。
1.4.2 操作步驟
本書提供了幾種可以將操作配方下載到本地設備上的方法。
每種下載方法都需要先打開網頁瀏覽器,然后跳轉到名為“Quantum-Computing-in- Practice-with-Qiskit-and-IBM-Quantum-Experience”的GitHub倉庫。
1.將GitHub倉庫下載為壓縮文件
獲取操作配方的最簡單的方式是僅將示例文件作為壓縮文件下載,并在本地設備上解壓。
(1)在前面提到的GitHub倉庫中,點擊“Clone or download”按鈕,選擇“Download zip”。
(2)下載壓縮文件并選擇文件存儲位置。
(3)將文件解壓。
2.使用Git克隆GitHub倉庫
(1)點擊“Clone or download”按鈕并復制GitHub倉庫的URL。
(2)打開命令行窗口,定位到想要保存克隆目錄的本地位置。
(3)輸入如下命令。
$ git clone https://git×××/PacktPublishing/Quantum-Computing-in-Practice-with- Qiskit-and-IBM-Quantum-Experience.git
命令的執行結果大概如下所示。
Cloning into 'Quantum-Computing-in-Practice-with-Qiskitand-IBM-Quantum- Experience'... remote: Enumerating objects: 250, done. remote: Counting objects: 100% (250/250), done. remote: Compressing objects: 100% (195/195), done. remote: Total 365 (delta 106), reused 183 (delta 54), pack-reused 115 Receiving objects: 100% (365/365), 52.70 MiB | 5.42 MiB/s, done. Resolving deltas: 100% (153/153), done.
3.使用GitHub桌面版克隆GitHub倉庫
(1)點擊“Clone or download”按鈕,選擇“Open in desktop”。
(2)在GitHub桌面版的對話框中選擇一個下載位置,將GitHub倉庫克隆到該位置,并點擊“OK”按鈕。
讀者現在可以瀏覽本書中的操作配方。每章都包含一個或多個操作配方。如有需要,讀者可以將操作配方代碼直接復制并粘貼到自己的 Python 環境中,也可以復制并粘貼到IBM Quantum Experience或本地Anaconda環境中的Jupyter Notebook中。
4.打開一個操作配方文件
到目前為止,讀者已經使用命令行完成了所有操作。下面,本書將帶領讀者獲取下文所示的 Python 程序,并在自己喜歡的Python解釋器(如Anaconda Spyder或Jupyter Notebook)中運行它。
如果讀者已經下載了本書的示例文件,可以在本地保存的下載文件中對應第1章的目錄中找到操作配方文件 ch1_r1_version.py,其代碼如下所示,運行后可以列出剛才安裝的Qiskit組件的版本信息。
# Import Qiskit import qiskit # Set versions variable to the current Qiskit versions versions=qiskit.__qiskit_version__ # Print the version number for the Qiskit components print("Qiskit components and versions:") print("===============================") for i in versions: print (i, versions[i])
運行該代碼,系統會顯示類似圖1-2這樣的輸出結果。

圖1-2 Qiskit組件及其版本信息
接下來介紹如何在讀者現有的環境中運行腳本。
5.在Spyder中運行Python腳本
在本地環境中,讀者現在可以在自己選擇的Python解釋器中運行Python腳本。下面以在Anaconda的Spyder中運行Python腳本為例。
重要提示
確保是在安裝了Qiskit的虛擬環境中運行解釋器。否則,解釋器找不到Qiskit,無法正常運行腳本。
(1)打開Anaconda的用戶界面。
(2)選擇虛擬環境。
(3)點擊Spyder圖標。如果讀者的虛擬環境中還沒有安裝Spyder,系統會自動安裝。安裝Spyder可能需要一些時間。
(4)在Spyder中,打開本章的示例Python腳本chl_rl_version.py。
(5)點擊“Run”。該腳本會讀取已安裝的Qiskit組件的版本信息。讀者也可以在Jupyter Notebook中打開Python腳本,例如在在線的IBM Quantum Experience的Jupyter Notebook中打開,但是需要一些額外的操作。
6.在Anaconda的Jupyter Notebook中運行Python腳本
(1)打開Anaconda的用戶界面。
(2)選擇虛擬環境。
(3)點擊Jupyter Notebook圖標。如果讀者的虛擬環境中還沒有安裝Jupyter Notebook,系統會自動安裝。
(4)在根目錄中打開的默認瀏覽器中會打開Jupyter Notebook的界面。找到并點擊示例Python腳本chl_rl_version.py。
(5)示例腳本在Jupyter Notebook文本編輯器中被打開。讀者現在可以看到代碼,但是無法運行。
(6)返回到Jupyter Notebook瀏覽器,點擊“New Notebook”。
(7)將Python腳本中的代碼復制并粘貼到新建的記事本中,此時可以點擊“Run”,觀察代碼的運行過程。
7.在IBM Quantum Experience的Jupyter Notebook中運行Python腳本
(1)為了在在線的IBM Quantum Experience的Notebook中運行Python腳本,讀者需要登錄IBM Quantum Experience。
(2)在IBM Quantum Experience的主頁面中,點擊左側菜單欄中的“Quantum Lab”按鈕(),然后點擊“New Notebook”,再按照上一部分的步驟7進行操作。
1.4.3 運行原理
本書后續章節中介紹的基于 Qiskit的 Python 代碼可以在任何滿足 Qiskit要求的Python環境中運行。讀者可以自由選擇適合自己的系統環境,還可以在自己選擇的系統環境中選擇自己喜歡的工具來運行程序。
本書中的代碼已經在Anaconda中默認的Spyder編輯器、IBM Quantum Experience和Anaconda中的Jupyter Notebook環境里測試運行過。
- C++面向對象程序設計(第三版)
- JavaScript從入門到精通(微視頻精編版)
- 零起步玩轉掌控板與Mind+
- Getting Started with ResearchKit
- C#程序設計(慕課版)
- Python Tools for Visual Studio
- Mastering Python Networking
- 一本書講透Java線程:原理與實踐
- C++反匯編與逆向分析技術揭秘(第2版)
- Moodle 3 Administration(Third Edition)
- Three.js權威指南:在網頁上創建3D圖形和動畫的方法與實踐(原書第4版)
- Blender 3D Cookbook
- Mastering Clojure
- 零基礎入門學習C語言:帶你學C帶你飛
- Flink原理深入與編程實戰:Scala+Java(微課視頻版)