windows 에서 pip install leveldb
windows 용 py leveldb 를 pip install 을 이용해서 설치해 보도록 하자.환경
os : Windows 7 64bitpython: python 2.7.5 64bit
절차
- leveldb.pyd 만들기
- leveldb-0.193-cp27-none-win_amd64.whl 만들기
- pip install leveldb-0.193-cp27-none-win_amd64.whl
leveldb.pyd
원래 py-leveldb 를 pip install 로 설치하면 source 를 build 하게 된다. 그런데 기본적으로 windows build 를 지원하지 않는다.그래서 windows build 를 가능하도록 visual studio 에서 작업해서 공유한 분이 있다.
- GitHub - happynear/py-leveldb-windows: A Visual Studio project to build leveldb python wrapper
- py-levelDB Windows 7 에서 compile 하기
문제는 pip install 의 package management 에 install 된 것으로 인식되지 않는 것이다. 이것을 위해서 직접 .whl 을 만들어서 pip install 로 .pyd 를 설치하기로 했다.
.whl 만들기
setup.py bdist_wheel
.whl 이 있으면 아래처럼 pip install 을 해서 설치할 수 있다.c:\> pip install package-ver-1.2.whl
.whl 을 만들기 위해서 아래 명령어를 이용하면 된다.
c:\> python setup.py bdist_wheel이 명령어를 이용하기 위해서는 wheel package 가 필요하다.
c:\> pip install wheel
setup.py
이제 setup.py 를 만들면 된다. 이 setup.py 에 package 에 들어갈 정보나 파일등에 대한 정보를 적어주게 된다.- setup.py 관련 자료
leveldb .whl 을 위한 setup.py
대부분의 내용은 leveldb-0.193 package 의 setup 에서 가져왔다.from setuptools import setup, Distribution
class BinaryDistribution(Distribution):
def is_pure(self):
return False
setup(
name = 'leveldb',
version = '0.193',
maintainer = 'Arni Mar Jonsson',
maintainer_email = 'arnimarkj@gmail.com',
url = 'http://code.google.com/p/py-leveldb/',
classifiers = [
'Development Status :: 4 - Beta',
'Environment :: Other Environment',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: POSIX',
'Programming Language :: C++',
'Programming Language :: Python',
'Programming Language :: Python :: 2.4',
'Programming Language :: Python :: 2.5',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.0',
'Programming Language :: Python :: 3.1',
'Programming Language :: Python :: 3.2',
'Programming Language :: Python :: 3.3',
'Topic :: Database',
'Topic :: Software Development :: Libraries'
],
description = 'Python bindings for leveldb database library',
data_files=[('lib/site-packages', ['leveldb.pyd']),],
distclass=BinaryDistribution
)
아래 같이 파일을 놓으면 된다.
댓글 없음:
댓글 쓰기