두 개의 개별 파이썬 패키지를 생성하고 싶은 프로젝트가 있습니다. pip를 사용하여이 패키지들을 설치하고 싶습니다.여러 setup.py 스크립트를 사용하는 여러 프로젝트가 있습니까?
: 나는script_name
매개 변수를 설정
setup_foo.py
에서
/myproject
setup_foo.py
setup_bar.py
/mypackage1
/mypackage2
...
: 그래서 이런 구조를 시도 Multiple projects from one setup.py?
:
이 이전 질문에 대한 답변에서, 일반적인 권장 사항은 두 setup.py
스크립트를 작성하는 것이 었습니다
from distutils.core import setup
setup(name = 'foo',
version = '2.0.0',
...,
script_name = 'setup_foo.py')
(매개 변수 없이도 아래에서 시도했습니다. 전자 문서 그것은 기본적으로 내가
python setup_foo.py sdist
를 사용하여 foo-2.0.0.tar.gz
을 만들 [0])
sys.argv에합니다하지만 pip install foo-2.0.0.tar.gz
, 나는이 같은 오류가 발생하는 경우 :
Unpacking .../foo-2.0.0.tar.gz
Running setup.py egg_info for package from file:///...foo-2.0.0.tar.gz
Traceback (most recent call last):
File "<string>", line 14, in <module>
IOError: [Errno 2] No such file or directory: '/var/folders/wj/jv7n2pmn5d1g1jjx6khc8bx80000gn/T/pip-v3dujq-build/setup.py'
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 14, in <module>
IOError: [Errno 2] No such file or directory:
'/var/folders/wj/jv7n2pmn5d1g1jjx6khc8bx80000gn/T/pip-v3dujq-build/setup.py'
내가 몇 가지를 놓치고
pip
setup_foo.py
을 사용하도록 지시하는 방법? 아니면 별도의 디렉토리에 두 개의 스크립트 (둘 다 'setup.py')를 배치해야합니까?
답변 해 주셔서 감사합니다. 제가 설명한 구조를 선택하는 것에 대한 제 이유는 거의 맞습니다. 나는 그들 중의 2 명을 가지고 있었다. 첫째, 나는 PyDev/Eclipse를 사용하고 가능한 경우 프로젝트 간 종속성을 피하고자했습니다. 둘째, 두 배포본은 프로젝트의 거의 모든 패키지를 공유합니다. 두 가지 배포본은 주로 명령 줄 도구가 다른 점을 제외하고는 두 개 또는 세 개의 개별 프로젝트로 분할하는 것이 다소 과한 것처럼 보입니다. 하나의 프로젝트에서 두 개의 배포판이 setuptools를 잘못된 방향으로 문지르는 경우 모든 배포판을 모든 서버에 배포하기 위해 하나의 배포판 만 허용하도록 선택할 수 있습니다. –
영감을 얻으려면 http://code.google.com/p/pyroscope/source/browse/trunk/update-to-head.sh를 참조하십시오. 가상 머신에 설치하는 경우 (항상 프로덕션 머신에서라도), 도구 스텁을 선택적으로 심볼릭 링크하여 선택한 하위 세트를 게시 할 수 있습니다 ("ln -nfs $ (grep -l 'entry_point. * pyrocore == '$ PWD/bin/*) $ {BIN_DIR : ~ ~/bin}/"명령). – pyroscope
영리한! 그렇습니다, 그것은 sripts의 부분 집합을 숨기거나 게시하는 더 간단한 방법입니다. –