2017-09-13 12 views
0

PythonでTkinterを使って小さなクイズを作成しました。全員がゲームをリリースしたいので、人々はただpip installしかプレイできません。pipのためにtkinterでPythonパッケージを公開する

私は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プロジェクトディレクトリ内にパッケージを作成することです。これは大きな問題を解決するはずです。

関連する問題