Korean
언어
English
Bengali
French
German
Japanese
Korean
Portuguese
Spanish
Tamil

시작하기

설치하기

Qiskit을 사용해보자! 가장 먼저 해야 할 것은 패키지를 실행하고 설치할 방법을 선택하는 것이다. 여기에는 세 가지 주요 방법이 있다.

Qiskit은 Python 3.7이상을 지원한다. 하지만 Python과 Qiskit 모두 계속 개발중이며, 때때로 새 릴리스가 하나 또는 다른 버전에서 발생하는 경우 호환성에 문제가 발생할 수 있다.

로컬 시스템에서 시작하기 위해서는 Python 을 다운로드해야 한다. Jupyter 를 통해 Qiskit을 사용하기를 권장한다.

Qiskit을 다른 애플리케이션과 분리하고 사용자 경험을 증진시키기 위해 Python 가상 환경 을 사용하는 것을 추천한다.

오직 Python 만 설치한 최소한의 환경을 만들고,

python3 -m venv /path/to/virtual/environment

새로운 환경을 활성화하라.

source /path/to/virtual/environment/bin/activate

참고: 윈도우를 사용한다면 PowerShell에서 아래의 명령어를 사용하라.

python3 -m venv c:\path\to\virtual\environment
c:\path\to\virtual\environment\Scripts\Activate.ps1

그런 다음 Qiskit 패키지를 설치한다.

pip install qiskit

만약 패키지가 제대로 설치되었다면, pip list 명령어를 사용하여 현재 가상 환경에서 활성화된 패키지를 확인할 수 있다.

시각화 기능 또는 Jupyter 노트북을 사용하려는 경우 추가 visualization 을 사용하여 Qiskit을 설치하는 것이 좋다.

pip install qiskit[visualization]

zsh 사용자 (최신 버전의 macOS 기본 쉘) 인 경우 qiskit[visualization] 을 따옴표로 묶어야 한다:

pip install 'qiskit[visualization]'

다음의 클라우드 환경을 이용하면 별도의 설치 없이 Qiskit을 사용할 수 있다.


IBM Quantum Lab

Build quantum applications and experiments with Qiskit in a cloud programming environment.

Strangeworks

A platform that enables users and organizations to easily apply quantum computing to their most pressing problems and research.

소스 코드로부터 구성 요소들을 설치하는 것은 파이썬 패키지 색인 (PyPI) 코드 저장소로 부터 설치하는 것 대신에 가장 최신에 업데이트된 키스킷 버전을 사용하도록 해준다. 이를 통해 손쉽게 키스킷의 최신 코드를 확장하고 검사해 볼 수 있다.

소스코드로 부터 구성 요소나 성분을 설치할 때는 기본 설정으로 개발``버전 (이것은 브랜치의 ``마스터``에 해당한다) 사용되고 ``안정``버전 (``pip 패키지로 설치되는 같은 코드를 기반으로 하는) 과 대응을 이룬다. ``개발``버전의 구성요소나 성분들은 보통 새로운 기능과 변화를 가지고 있기 때문에, 나머지 아이템들도 ``개발``버전으로 설치하는 것을 권장한다.

테라와 아르 패키지 모두 설치하기 전에 소스 코드로 부터 빌드하기 위해 컴파일러가 필요하다. 이그니스, 아쿠아 그리고 아이비엠 양자 시스템 제공자 후위 처리 장치는 컴파일러를 필요로 하지 않는다.

소스 코드로 부터 구성 요소들을 설치하기 위해서는, pip 버전이 소스 코드 버전보다 오래된 것일 경우 필요로 하는 구성 요소의 버전도 낮을 수 있기 때문에 설치 시에 바른 순서를 따르는 것이 필요하다.

  1. qiskit-terra

  2. qiskit-aer

  3. qiskit-ibmq-provider (만약 아이비엠 양자 시스템 장치나 온라인 시뮬레이터 장치에 접속하려면)

몇몇 개의 구성 요소나 요소를 동시에 사용하고자 한다면 각각의 요소에 대해 다음 단계를 거치도록 하라.

참고

Python에서 명칭 공간의 패키지 사용법 때문에 패키지를 설치할 때 주의를 기울여야 한다. 만약 소스로부터 어떤 요소를 설치하고자 할 때, Qiskit 메타-패키지를 사용하지 말라. 또한 이 가이드를 따라 개발을 위해 따로 마련한 가상 환경을 이용하라. 만약 개발을 위해 이미 존재하고 있는 설치 패키지와 섞어서 사용하기 원한다면, 함께 사용할 수 있는 설치 방법의 조합을 설명한 이 문서 (https://github.com/pypa/sample-namespace-packages/blob/master/table.md)를 참조하라.

Set up the Virtual Development Environment

python3 -m venv QiskitDevenv
source QiskitDevenv/bin/activate

Installing Terra from Source

소스에서 설치하려면 시스템에 Rust 컴파일러가 있어야 한다. Rust 컴파일러를 설치하려면 크로스 플랫폼 Rust 설치 프로그램인 rustup을 사용하는 것이 좋다. rustup을 사용하려면:

https://rustup.rs/

플랫폼에 rust를 설치하는 방법에 대한 지시사항을 제공한다. rustup 외에 다른 설치 방법 도 사용할 수 있다.

Rust 컴파일러가 설치되고 나면 키스킷 테라를 설치할 준비가 된 것이다.

  1. Terra 코드 저장소를 복제하라

    git clone https://github.com/Qiskit/qiskit-terra.git
    
  2. 저장소 복제는 ``qiskit-terra``라는 이름의 지역 디렉토리를 생성한다.

    cd qiskit-terra
    
  3. 만약 테스트 코드를 실행하거나 철자법 검사를 하고자 한다면, 개발자 요구사항 라이브러리를 설치하라.

    pip install -r requirements-dev.txt
    
  4. ``qiskit-terra``를 설치하기

    pip install .
    

만약, 프로젝트에 코드가 변화하였을 때 재설치가 필요하지 않는, 수정 가능한 모드로 설치하고자 한다면, 다음의 명령어를 사용하라.

pip install -e .

편집 가능 모드에서 설치하면 디버그 모드에서 컴파일된 extension들이 최적화 없이 빌드된다. 이는 컴파일된 코드의 런타임 성능에 영향을 끼친다. 편집 모드에서 최적화를 사용해 컴파일된 코드를 빌드 하고 싶다면 다음을 실행해 보자:

python setup.py build_rust --release --inplace

pip를 실행한 후 위 코드가 배포 모드에서 바이너리를 다시 빌드할 것이다. 만약 Qiskit에서 Rust 코드를 작업하는 경우, 로컬에서 변경이 발생할 때마다 확장 코드를 매번 다시 빌드해야 한다. pip install -e 는 호출될 때만 Rust 확장을 빌드하므로, 확장 코드를 다시 빌드하지 않는 한 pip를 실행한 후의 Rust 코드 작업의 로컬 변경 사항들은 설치된 패키지에 반영되지 않을 것이다. 이를 위해 위의 build_rust 명령을 사용할 수 있다 (디버그 모드 또는 배포 모드에서 빌드할 것인지 여부에 따라 --release 사용 여부를 결정한다).

테라를 설치한 이후에 예제 코드들을 실행해 볼 수 있다. 이를 위해서는 다음 명령어를 실행하라.

python examples/python/using_qiskit_terra_level_0.py

참고

만약 다른 구성 요소들을 설치하려 하지 않는다면, qiskit-terra 는 qiskit-aer 와 qiskit-ibmq-provider 가 설치되지 않았다는 RuntimeWarning 경고를 할 것이다. 이것은 사용자들이 대부분 다른 구성요소를 사용할 의사가 있지만, 그것들을 설치하지 않았다는 것을 모르기 때문이거나 아르나 아이비엠 양자 시스템 공급자가 어떤 이유로 바르게 설치되지 않았기 때문이다. 이러한 경고들을 보고 싶지 않다면, 다음 명령을 추가하라.

import warnings
warnings.filterwarnings('ignore', category=RuntimeWarning,
                        module='qiskit')

코드에 다른 키스킷을 임포트하기 전에 입력하라. 이것은 qiskit-aer qiskit-ibmq-provider 가 설치되지 않았다는 경고를 억제할 것이다. 하지만 키스킷이나 다른 패키지의 경고들은 계속 표시될 것이다.

Installing Aer from Source

  1. Aer 저장소를 복제합니다.

    git clone https://github.com/Qiskit/qiskit-aer
    

Aer 설치는 사용 중인 운영 체제에 따라 다르다. Aer는 Python 인터페이스가 있는 컴파일 된 C++ 프로그램이므로, Aer 바이너리를 빌드하는데 운영 체제에 보편적으로 설치할 수 없는 Python이 아닌 종속 프로그램/라이브러리들이 있습니다.

리눅스
  1. 컴파일러 요구사항을 설치하시오.

    Aer 설치는 C++ 컴파일러와 개발 헤더를 필요로합니다.

    만일 당신이 Fedora 나 동등한 리눅스 배포본 을 사용하 는 경우 다음을 사용해 설치하십시오.

    dnf install @development-tools
    

    유분투나 데비안을 사용하는경우 다음을 사용해 설치하십시오.

    apt-get install build-essential
    
  2. OpenBLAS 개발 헤더를 설치하십시오.

    만일 당신이 Fedora 나 동등한 리눅스 배포본 을 사용하 는 경우 다음을 사용해 설치하십시오.

    dnf install openblas-devel
    

    유분투나 데비안을 사용하는경우 다음을 사용해 설치하십시오.

    apt-get install libopenblas-dev
    
macOS
  1. 설치 종속성:

    macOS 에서 Clang 컴파일러를 사용할 경우에는, OpenMP <https://www.openmp.org/>`__지원하기 위해서 추가적인 라이브러리를 설치해야 합니다. `brew 를 사용하여 이것을 또는 다른 종속 프로그램/라이브러리 들을 설치 할 수 있습니다.

    brew install libomp
    
  2. 그다음 BLAS구현을 설치하십시오; OpenBLAS 가 기본 선택입니다.

    brew install openblas
    

    다음, Xcode Command Line Tools 을 설치하십시오.

    xcode-select --install
    
Windows
  1. 모든 종속성은 위에서 설치된 Visual C++ 컴파일러의 일부로 추가되므로 별도의 설정이 필요하지 않다.

Qiskit Aer는 양자 회로를 위한 고성능 시뮬레이터 프레임워크이다. 이는 여러가지 시뮬레이션 목적을 이루기 위해서 다양한 백엔드 들을 제공한다.

  1. qiskit-aer를 직접 빌드하고 설치하라

    만일 당신이 pip 버전 19.0.0 이하를 설치하였고 당신의 환경이 사용자 빌드를 요구하지 않으면 다음을 실행하자:

    cd qiskit-aer
    pip install .
    

    이것은 바이너리를 빌드하고 Aer를 설치한다.

    또는 최신 pip가 설치되어 있거나 사용자 지정 요구 사항이 있으면 파이썬 휠을 수동으로 만들 수 있다.

    cd qiskit-aer
    python ./setup.py bdist_wheel
    

    만일 휠 빌드중 사용자 옵션을 선택해야 하면 다음 문서를 참조하자. aer_wheel_build_options.

    파이선 휠을 빌드 한 후, 그것은 아르 저장소 안의 디렉토리 dist/ 에 저장이 된다. 정확한 버전은 때에따라 다르다

    cd dist
    pip install qiskit_aer-*.whl
    

    출력 휠 파일의 정확한 파일 이름은 개발중인 Aer의 현재 버전에 따라 다르다.

Custom options

파이선 인터페이스를 이용해서 Aer를 빌드할 때 컴파일을 실행하기 위해 scikit-build 을 사용한다. 이것은 CMake 을 부르기 위해 setuptools 의 인터페이스로 작용을 하고, 로컬 시스템을 위해 바이너리를 컴파일한다.

바이너리 파일을 컴파일 하는 것은 복잡하기 때문에 빌드 과정 중의 특정 부분에 옵션을 따로 정해줘야 할 수도 있다. 변수들을 전달하는 방법은 다음과 같다.

python setup.py bdist_wheel [skbuild_opts] [-- [cmake_opts] [-- build_tool_opts]]

꺽쇠 괄호 [] 안에 있는 요소들은 선택적인 것이고, skbuild_opts, cmake_opts, build_tool_opts 는 당신의 선택에 따라 참 혹은 거짓 값을 가질 수 있다. CMake 의 옵션 리스트는 여기서 (https://cmake.org/cmake/help/v3.6/manual/cmake.1.html#options) 찾아 볼 수 있다. 예를 들어, 다음과 같이 실행할 수 있다.

python setup.py bdist_wheel -- -- -j8

이 명령어는 기반이 되는 빌드 시스템 (이 경우 Automake)에 컴파일 시 8개의 프로세스를 병렬 처리로 사용하라는 -j8 이라는 옵션을 건네준다.

예를 들어, 리눅스에서 이러한 옵션들의 일반적인 사용법은 사용할 C++ 컴파일러의 특정 버전을 구체적으로 명시하기 위해서이다. (대게 기본 설정으로 쓰이는 컴파일러가 너무 오래된 것일 때 사용한다.)

python setup.py bdist_wheel -- -DCMAKE_CXX_COMPILER=g++-7

이 명령어는 씨메이크 (CMake) 에게 Aer를 컴파일 할 때, 기본으로 쓰이는 g++ 컴파일러를 사용하지 말고 g++-7 컴파일러를 사용하라는 것이다.

환경에 따라 이러한 옵션을 사용하는 또 다른 경우는 당신의 플랫폼 이름을 구체적으로 명시하고 정적 연결(static linking) 을 금지하기 위한 경우이다.

python setup.py bdist_wheel --plat-name macosx-10.9-x86_64 \
-- -DSTATIC_LINKING=False -- -j8

여기서 --plat-name 은 패키지 메타 정보에서 사용되는 플랫폼 이름을 정해주기 위해 setuptools에 보내지는 옵션이다. 그리고 -DSTATIC_LINKING 은 씨메이크(CMake) 를 사용하여 정적 연결을 꺼주기 위한 옵션이고, -j8 은 오토메이크(Automake) 가 컴파일 할 때 8개의 프로세서를 사용하라는 옵션이다.

플랫폼에 따라 일반적으로 사용되는 옵션의 목록은 다음과 같다.

플랫폼

도구

옵션

활용 예시

전체

오토메이크(Automake)

-j

숫자와 함께 사용되어서, 컴파일 시 사용할 프로세서의 수를 결정한다.

리눅스

씨메이크(CMake)

-DCMAKE_CXX_COMPILER

특정 C++ 컴파일러를 명시하기 위해 사용된다. 이 옵션은 보통 기본 g++ 컴파일러가 너무 오래 되었을 때 사용된다.

오에스엑스(OSX)

도구 설정

–plat-name

결과 파이썬 패키지에 나타나는 플랫폼 이름을 명시하기 위해 사용된다.

오에스엑스(OSX)

씨메이크(CMake)

-DSTATIC_LINKING

정적 연결을 사용할지 안 사용할지 결정하는데 사용된다.

참고

이러한 몇몇 옵션들은 플랫폼에 좌우되지 않는다. 이러한 특정 플랫폼이 여기 나열된 이유는 보통 일반적으로 사용되는 환경이기 때문이다. 더 많은 정보를 위해서는 도구 문서화 항목을 참조하라.

Installing IBM Quantum Provider from Source

  1. qiskit-ibmq-provider 코드 저장소를 복제하라

    git clone https://github.com/Qiskit/qiskit-ibmq-provider.git
    
  2. 저장소 복제는 qiskit-ibmq-provider 이라는 이름의 지역 디렉토리를 생성한다.

    cd qiskit-ibmq-provider
    
  3. 만약 테스트를 하거나 철자법 검사를 하려면, 개발자 필수 요소를 설치하라. 이것은 소스로 부터 qiskit-ibmq-provider 패키지를 설치하거나 사용할 때는 필요하지 않다.

    pip install -r requirements-dev.txt
    
  4. qiskit-ibmq-provider 설치하기

    pip install .
    

만약, 프로젝트에 코드가 변화하였을 때 재설치가 필요하지 않는, 수정 가능한 모드로 설치하고자 한다면,

pip install -e .

플랫폼 지원

Qiskit은 최대한 많은 플랫폼을 지원하기 위해 노력하지만, 사용 가능한 테스트 자원 및 플랫폼 가용성의 한계로 인해 모든 플랫폼을 지원할 수는 없다. Qiskit에 대한 플랫폼 지원은 3개의 계층으로 나뉘며 각 계층마다 지원 수준이 다르다. 이러한 플랫폼 이외의 플랫폼에서 Qiskit은 여전히 설치 가능하지만 테스트되지 않았으며 Qiskit(및 Qiskit의 종속 항목) 을 소스로부터 가져와야 한다.

또한 Qiskit은 CPython만 지원한다. 다른 Python 인터프리터를 사용하는 것은 현재 지원되지 않는다.

계층 1

계층 1 지원 플랫폼은 제안된 변경사항이 올바르게 작동하는지 확인하기 위해 개발 프로세스의 일부로 테스트된다. 사전 컴파일된 바이너리는 릴리스 프로세스의 일부로 빌드, 테스트 및 PyPI에 공개된다. 이러한 플랫폼은 모든 종속 프로그램을 사용할 수 있기 때문에 작동하는 Python 환경만으로 설치가 가능할 것으로 예상된다.

계층 1 플랫폼은 다음과 같다:

  • Linux x86_64 (manylinux 2014 패키징 스펙과 호환 가능한 배포판).

  • macOS x86_64 (10.9 또는 최신 버전)

  • 윈도우 64비트

계층 2

계층 2 플랫폼은 개발 프로세스의 일부로 테스트를 거치지 않는다. 그러나 사전 컴파일된 바이너리는 릴리스 프로세스의 일부로 빌드, 테스트 및 PyPI에 공개되며 이러한 패키지는 단지 작동하는 Python 환경에서 설치가 가능할 것으로 예상된다.

계층 2 플랫폼은 다음과 같다:

  • Linux i686 (Python < 3.10) 용 Linux i686 ( manylinux 2014 패키징 스펙과 호환 가능)

  • Python <3.10용 윈도우 32비트

  • Linux aarch64 (패키징 사양과 호환되는 배포판 manylinux 2014 <https://www.python.org/dev/peps/pep-0599/>)

계층 3

계층 3 플랫폼은 개발 프로세스의 일부로 테스트되지 않는다. 사전 컴파일된 바이너리는 테스트 없이 릴리스 프로세스의 일부로 PyPI에 빌드되고 공개된다. 단순히 작동하는 Python 환경으로는 설치할 수 없으며, 설치 프로세스의 일부로 소스의 종속 프로그램을 빌드하기 위해 C/C++ 컴파일러 또는 추가 프로그램이 필요할 수 있다. 이러한 플랫폼에 대한 지원은 최선의 노력이다.

계층 3 플랫폼은 다음과 같다:

  • Linux ppc64le (패키징 사양과 호환되는 배포판 manylinux 2014 <https://www.python.org/dev/peps/pep-0599/>)

  • Linux s390x (패키징 사양과 호환되는 배포판 manylinux 2014 <https://www.python.org/dev/peps/pep-0599/>)

  • macOS arm64 (10.15 또는 최신 버전)

  • Python >= 3.10용 Linux i686 (manylinux 2014 패키징 사양과 호환되는 배포판)

  • Python >= 3.10 용 윈도우 32 비트

시작할 준비가 다 되었다면…

Qiskit from the ground up

Learn how to build, execute, and post-process quantum circuits with Qiskit.

Start learning Qiskit

Dive into the tutorials

Find out how to leverage Qiskit for everything from single-circuits to full quantum application development.

Qiskit tutorials