2016-10-20 6 views
0

setuptools : python setup.py bdist_egg을 사용하여 파이썬 달걀을 만들 수 있습니다. 이론 상으로는 setup.py 파일을 사용하여 설치된 모든 패키지에 대해이 작업을 수행 할 수 있어야합니다. 전체 virtualenv 가상 파이썬 환경을 파이썬 달걀에 캡슐화 할 수 있습니까?달걀에 virtualenv를 만들 수 있습니까?

+0

프로젝트의 파일 구조 레이아웃은 무엇을 사용해야합니까? –

답변

1

당신은 몇 가지 이유

이 작업을 수행하기 위해 관리 할 수있는 경우에도 예상대로, 그것이 작동하지 않을이 작업을 수행해서는 안된다. 사용자가 이미 계란 안에 패키지 중 하나를 설치했다면 파이썬 계란이 추가 네임 스페이스를 추가하지 않기 때문에 충돌 할 것입니다.

또한 python 달걀은 일방적으로 나옵니다. 바이너리 배포본을 만들고 싶다면 최신 파이썬 wheels을 사용해야한다.

종속성이있는 프로젝트가있는 경우 setup.py에 종속성을 선언하면 pip에서 해당 종속성을 설치합니다. PyPi에 존재하지 않는 의존성이 있거나 패키지의 매우 구체적인 레거시 버전이 필요한 경우 패키지에 패키지를 하위 패키지로 포함하기 만하면됩니다. 코드에서

/my_package 
    __init__.py 
    /libs 
     __init__.py 
     /non_pypi_package 
     /legacy_package 

그리고, 대신

import non_pypy_package 

로 가져 오기 당신은

from my_package.libs import non_pypi_package 
+0

난 계란을 사용하는 방식으로 파이썬 패키지의 종속성 인 컴파일 된 C/Fortran 패키지를 저장할 수 있습니다. 나는 아직도 이것을 할 수있는 방법이 있습니까? – kilojoules

+0

''setup' 함수의 ['package_data'] (https://docs.python.org/2/distutils/setupscript.html#installing-package-data) 인수를 사용하면됩니다. 프로젝트 구성 방법에 대한 자세한 정보를 제공하면 정확한 명령을 추가하여 포함시킬 수 있습니다. –

+0

설명하는 방식으로 package_data를 어떻게 사용할 수 있는지 잘 모르겠습니다. 이 이전 답변은 희망이 없었습니다. http://stackoverflow.com/a/14159430/3474956. 파이썬 달걀과 현대에 상응하는 것처럼 보이지 않습니다. – kilojoules

관련 문제