Windows에서 setuptools (버전 0.6c11)를 사용하고 있으며 진입 점 console_scripts
을 통해 설치할 콘솔 스크립트를 지정합니다. 그것은 리눅스에서 잘 작동하지만 MinGW 컴파일러를 사용하는 Windows에서는 스크립트가 설치되지 않습니다. 설치 출력에 알 수없는 메시지가 표시되지 않습니다.console_scripts 엔트리 포인트가 무시 되었습니까?
ipython과 같은 다른 패키지는 setup.py install
을 실행 한 후 잘 작동하며 .exe 파일을 가지고 있습니다.
누군가 디버깅 할 방법을 제안 할 수 있습니까?
import setuptools
setup(
# ...
entry_points={
'console_scripts':[
'myprog = myMod:main'
]
}
)
UPDATE : 인 Vinay로 인한 사례를 바탕으로
, 내가 문제를 분리 할 수 있었다 (감사합니다!) : 모듈이 중첩 된 하위 디렉토리에 설치되어있는 경우, 스크립트가 생성되지 않습니다
를import setuptools, os.path, shutil
SOURCE = '''
def main():
print('Hello, world!')
'''
### ERROR: when level of subdir is > 1, script is not created
subdir='subdir/subdir2'
### OK: with single-level subdirectory, everything works just fine
# subdir='subdir'
def prepare():
# remove previous source
if os.path.exists('subdir'): shutil.rmtree('subdir')
# create subdirs as necessary
os.makedirs(subdir)
with open(subdir+'/my_mod.py', 'w') as f: f.write(SOURCE)
prepare()
setuptools.setup(
name = 'myprog',
version = '0.1',
url = 'http://dummy.com/',
author = 'Me',
author_email = '[email protected]',
py_modules=['my_mod'],
package_dir={'':subdir},
entry_points={
'console_scripts':['myprog = my_mod:main']
},
zip_safe=False
)
나는 package_dir
에 대해 오해하고 있습니까?
귀하의 반대 사례에 대한 응답으로 업데이트를 추가했습니다. –
두 번째 메모에 대한 응답으로 : "/"Windows에서 유효한 디렉터리 구분 기호 때문에 "버그"말할 것이라고하지만 누가 버그를 알고 있습니다? 아마도 그것은'distribute'에 대해 로그되어야합니다 (아직 없다면). –
@VinaySajip : 나는 어디에서 발생하는지 알아 내려고 노력할 것이다. 나는'package_dir'가'/'(패키지 발견 등)와 잘 동작하기 때문에보고해야한다는 것에 동의한다. 그것은 실패한 스크립트 생성 일 뿐이다. – eudoxos