결론부터 말씀드리면, 아래 Google Drive에 올려놓은 ibm_db-2.0.8.tar.gz를 download 받으셔서 아래와 같이 설치하시면 됩니다.
$ pip install --no-index --find-links=file://"파일올려놓은디렉토리" ibm_db==2.0.8
https://drive.google.com/open?id=1ogehW-IkZJHF7emG8Db2XzRRNlznJOwi
좀더 자세한 설명은 아래와 같습니다.
기본적으로 python3 환경에서 IBM DB2 client의 setup하는 방법은 아래를 따르시면 됩니다.
https://www.ibm.com/developerworks/community/blogs/96960515-2ea1-4391-8170-b0515d08e4da/entry/Installing_Python_ibm_db_driver?lang=en
그런데 제가 해보니 다음과 같이 이런저런 error가 납니다. (Python2에서는 잘 됩니다만, python3에서만 error가 나네요.)
minsky@minsky:~$ pip install ibm_db
Collecting ibm_db
Using cached ibm_db-2.0.8.tar.gz
Building wheels for collected packages: ibm-db
...
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-b5m2e82l/ibm-db/setup.py", line 17, in <module>
os.rename('tests','test_2')
OSError: [Errno 39] Directory not empty: 'tests' -> 'test_2'
----------------------------------------
Command "/home/minsky/anaconda3/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-b5m2e82l/ibm-db/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-3hxlsbb8/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-b5m2e82l/ibm-db/
이는 이 속에 포함된 setup.py 파일 속의 tests, test_2와 같은 일부 directory 명명이 잘못된 것 외에도, 기본적으로 DB2 client가 현재는 ppc64 (big endian)에 대해서만 공식 지원되고 ppc64le (little endian)에 대해서는 setup.py 내에 언급이 없기 때문입니다.
그러나 실제로는 ppc64_odbc_cli.tar.gz 뿐만 아니라 아래처럼 ppc64le_odbc_cli.tar.gz도 제공됩니다. 즉, ppc64le에 대해서도 설치가 가능합니다.
https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/ppc64le_odbc_cli.tar.gz
또한 이를 반영하는 임시 patch가 아래 URL에 제공되고 있습니다.
이를 이용하여, 좀더 간편하게 IBM DB2를 설치할 수 있도록 아래와 같이 ibm_db-2.0.8.tar.gz를 수정해서 올렸습니다.
먼저, PYPI repository로부터 ibm_db source package를 download 받습니다.
minsky@minsky:~$ pip download ibm_db
Collecting ibm_db
Downloading ibm_db-2.0.8.tar.gz (689kB)
100% |████████████████████████████████| 696kB 1.5MB/s
Saved ./ibm_db-2.0.8.tar.gz
Successfully downloaded ibm-db
이걸 풀어서 아래 URL에 제시된 patch 내용에 따라 setup.py를 편집합니다.
https://github.com/ibmdb/python-ibmdb/issues/292
minsky@minsky:~$ tar -zxf ibm_db-2.0.8.tar.gz
minsky@minsky:~$ cd ibm_db-2.0.8
minsky@minsky:~/ibm_db-2.0.8$ vi setup.patch
...저 위 URL 내용에 따라 편집합니다.
편집을 마친 뒤 다시 이걸 tar.gz으로 말아둡니다.
minsky@minsky:~/ibm_db-2.0.8$ cd ..
minsky@minsky:~$ tar -zcf ibm_db-2.0.8.tar.gz ibm_db-2.0.8
이제 아래와 같이 pip install로 local directory에 있는 ibm_db-2.0.8.tar.gz 파일을 이용해 install하면 됩니다.
minsky@minsky:~$ pip install --no-index --find-links=file:///home/minsky ibm_db==2.0.8
Collecting ibm_db==2.0.8
Building wheels for collected packages: ibm-db
Running setup.py bdist_wheel for ibm-db ... done
Stored in directory: /home/minsky/.cache/pip/wheels/ed/cd/b9/f3b516860b310ca7806e09e423a4ecb8d076ee023dea5d5367
Successfully built ibm-db
Installing collected packages: ibm-db
Successfully installed ibm-db-2.0.8
확인은 아래와 같이 하실 수 있습니다.
minsky@minsky:~$ pip list --format=columns | grep ibm-db
ibm-db 2.0.8
댓글 없음:
댓글 쓰기