2017-09-13 6 views
0

나는 파이썬에서 Tkinter를 사용하여 작은 퀴즈를 만들었고 모든 사람들이 게임을 출시 할 수 있도록 사람들이 단지 pip install 일 수 있고 게임을 할 수 있습니다.pip에 대한 tkinter로 파이썬 패키지 공개하기

PyPi 패키지를 릴리스하기 위해 문서를 보았습니다. 하나를 릴리스했는데 성공적으로 설치되었습니다. 그러나 명령 줄에서 응용 프로그램을 시작할 수 없으며 바이너리를 찾을 수도 없습니다. 내가 어디로 잘못 가고 있는지 모르겠다. 제발 도와주세요.

:

내 setup.py 파일은 내가 패키지가 성공적으로 PyPi 패키지에 추가됩니다

python setup.py sdist upload 

를 사용하고 난 사용을 설치할 수있을뿐 아니라, 그것을 포장하기 위해이

from setuptools import setup 
from codecs import open 
from os import path 

here = path.abspath(path.dirname(__file__)) 

with open(path.join(here, 'README.rst')) as f: 
    long_description = f.read() 

setup(
    name='py-quiz', 
    version='0.1.1', 
    description='Python based Quiz game.', 
    long_description=long_description, 
    author='Abhijit Nathwani', 
    author_email='[email protected]', 
    LICENSE='MIT', 
    url='https://github.com/abhijitnathwani/PyQuiz', 
    keywords='pyquiz tkinter' 

) 

처럼 보인다

pip install py-quiz 

설치 출력 :

내가 할 때
Collecting py-quiz 
    Downloading py-quiz-0.1.1.tar.gz 
Installing collected packages: py-quiz 
    Running setup.py install for py-quiz ... done 
Successfully installed py-quiz-0.1.1 

그러나 그 다음,

[email protected]:~/PyQuiz$ py-quiz 
py-quiz: command not found 

어떻게 명령 줄에서 게임을 실행합니까? 제발 도와주세요.

응용 프로그램 코드는 here입니다.

+0

Abhijit, 소스 배포판을 만들기 전에 설치 파일을 등록하지 않으 셨습니다. $ python setup.py register, 자세한 내용은 https://python-packaging.readthedocs.io/en/latest/minimal.html – Anup

+0

을 참조하십시오. 그러나 '서버 응답 (410) : 프로젝트 사전 등록이 더 이상 필요 없거나 지원되지 않으므로 직접 파일 업로드가 계속됩니다.'라는 응답이 있습니다. 등록이 더 이상 사용되지 않습니다. 우리는 직접 업로드해야합니다. @Anup –

+1

는 설정에서 진입 점을 추가 entry_points = { 'console_scripts를': [ 'my_project = my_project .__ 주요 __ : 주' ] } – Anup

답변

1

다음과 같이 변경하여 마침내 문제를 해결했습니다. 다음과 같이해야한다 디렉토리와 폴더 구조에서 만든 패키지가 있어야 :

<Directory> 
|-setup.py 
|-dist 
|-LICENCSE 
|-readme 
|-<package-name> 
|-__init__.py 
|-__main__.py 
|-other files 

setup.py에서 다음과 같이 변경 내 경우

entry_points={ 'console_scripts':['<command_name> = <package_name>.__main__:<function to be called>']

을해야을, 그것은이다 다음과 같이

entry_points={ 'console_scripts':['py-quiz = py_quiz.__main__:main']

주요 poin을 t는 프로젝트 디렉토리 안에 패키지를 만드는 것입니다. 이것은 중요한 문제를 해결해야합니다.