나는 내 자신의 패키지를 만들려고합니다. 패키지는 매우 간단합니다. 하나의 python 모듈과 하나의 bash 스크립트가 있습니다. 나는 그들 모두가 직접 실행될 수 있도록 /usr/local/bin
아래에 설치되기를 원합니다.pip가 실행 파일로 entry_points를 설치하지 않습니다.
from setuptools import setup
setup(
name='deploy',
.
.
.
install_requires=['pyyaml', 'cot', 'jsonschema'],
entry_points={
'console_scripts': [
'cloud_config = cloud_config:main',
],
},
scripts=['deploy.sh'],
)
다음은 출력에서 pip install ...
의 발췌입니다 :
가 여기 내 setup.py
파일의이와
running install_scripts
copying build/scripts-2.7/deploy.sh -> /usr/local/lib/python2.7.10/bin
changing mode of /usr/local/lib/python2.7.10/bin/deploy.sh to 755
Installing cloud_config script to /usr/local/lib/python2.7.10/bin
, 나는 파이썬 직접 bash는 스크립트 중 하나를 호출 할 수 아니에요.
아이디어가 있으십니까?
편집 : 을 Ubuntu 16.04.1
기기에서 실행 중입니다. Ubuntu 14.04
컴퓨터에 동일한 패키지를 설치하려고했는데 동작이 예상대로입니다. cloud_config.py
및 deploy.sh
은 모두 /usr/local/bin
에 설치되며 시스템의 어느 곳에서든지 둘 다 호출 할 수 있습니다.
우분투 크게 pip; 나는 그들이 여기에서도 행동을 바꿨다는 것에 대해 놀라지 않습니다. –
그건 말도 안돼 @MartijnPieters. 모든 플랫폼에서 올바르게 설치되는 패키지를 만드는 방법은 무엇입니까? – ronakg
방금'setup.py'를 기반으로 패키지를 만들고 Ubuntu 16.04 Vagrant 상자를 정리하기 위해 배포했습니다. 모든 것이 잘 작동합니다.추가 정보를 제공하면 문제를 재현하는 데 도움이 될 수 있습니다. 어쩌면 버전이있는 것일까 요? 어떤 버전의 setuptools를 사용하여 어셈블리합니까? 대상 컴퓨터의 pip와 setuptools는 무엇입니까? – Timur