2013-03-30 5 views
0

저는 리눅스로 포팅하려는 .NET 제품의 수가 많기 때문에 크로스 플랫폼 프레임 워크가 절실합니다. Python/pyQt 및 표준 라이브러리로 작업하기 시작했으며 비표준 라이브러리를 가져 오기 전까지는 모두 잘 진행되고있었습니다. 나는 pip와 easy_install에 대해 듣고 있는데, 나는 이것에 대해 완전히 혼란스러워하고있다.Python 라이브러리

내 제품은 DLL을 실행하는 데 필요한 모든 것을 제공해야하므로 .NET 환경에서 DLL (또는 라이센스가있는 DLL)을 제품과 함께 패키지로 만듭니다. 테스트 베드로서

나는이 라이브러리라는 요청 가져올 시도하고있다 : 내 프로그램 디렉토리에 __init__.py 파일 및 라이브러리 소스를 가지고 https://github.com/kennethreitz/requests

을하지만 그것은 작동하지 않습니다. 어떤 종류의 추가 패키지 설치 프로그램 없이도 라이브러리를 포함 할 수있는 간단한 방법이 있다고 말해주세요.

+0

'init.py'를'__init __. py'로 변경하십시오. – Herks

+0

예,'__init __. py'입니다. 나는 제 코드와 동일한 디렉토리에 제 3 자 라이브러리를 포함시킬 수 있다는 것을 알아야합니다. 제 3 자 패키지 다운로더 없이도 작동 할 것입니다. –

+0

Re : "필요없이 라이브러리를 포함 할 수있는 간단한 방법이 있다고 말해주십시오. 일종의 추가 패키지 설치 프로그램입니다. ": 설치를 설명하고 필요한 모든 패키지를 가져 오는'setup.py' 파일을 포함하는 것이 일반적입니다. 그게 중요할까요? 다음은'requests'에 대한'setup.py'입니다 : https://github.com/kennethreitz/requests/blob/master/setup.py – hughdbrown

답변

1

파이썬 패키지에 익숙해지기 시작하는 것이 좋습니다 (the distutils docs 참조). Pip은 수동으로 이동하여 다운로드 할 필요가 없도록 인터넷 리포지토리에서 직접 패키지를 설치하는 관리자입니다. 예를 들어, requests 홈페이지의 "설치"에서 설명한 것처럼 수동으로 아무 것도 다운로드하지 않고 터미널에 pip install requests을 실행하면됩니다.

포장은 제품과는 다른 이야기이며 대상 시스템에 따라 다릅니다. Windows에서 가장 쉬운 방법은 NSIS을 사용하여 설치 프로그램을 만들어 모든 종속성을 설치하는 것입니다. cx-freeze을 사용하여 모든 종속성을 가져올 수도 있습니다 (예 : 파이썬 인터프리터)를 하나의 패키지로 통합합니다.

리눅스에서 대부분의 의존성은 이미 대부분의 배포판에 포함될 것입니다. 따라서 패키지를 만들 때 요구 사항으로 나열해야합니다 (예 : 우분투의 경우 deb). 다른 의존성은 배포판의 저장소에 포함되어 있지 않을 수도 있지만, 여전히 setup.py의 요구 사항으로 나열 할 수 있습니다.

필자는 파이썬을 사용한 적이 없기 때문에 필자는 Mac에 대해서는 언급 할 수 없지만 리눅스 접근 방식과 비슷하다고 생각한다.

+0

포장은 문제가되지 않습니다. 나는 꽉 끼워서 NSIS보다 WiX를 선호합니다. NET 통합 그래서 아무 문제가 없습니다. 파이썬에서 다른 라이브러리를 실제로 패키징하고 제공 할 수 있다고 말하는 것 같고 사용자는 이러한 종속성을 얻기 위해 패키징 엔진을 사용할 필요가 없습니다. 파이썬을 가능한 대안으로 계속 연구하는 것만으로도 충분합니다. 감사! –