使用 tkinter for pip 发布 python 包

Releasing a python package with tkinter for pip

我在 Python 中使用 Tkinter 构建了一个小测验,我希望发布游戏供所有人玩,这样人们就可以 pip install 玩游戏。

我已经通过文档发布了一个 PyPi 包,我发布了一个,它成功安装了。但是,我无法从命令行启动应用程序,也无法查找二进制文件。我不知道我哪里错了。请帮帮我。

我的 setup.py 文件看起来像这样

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='abhijit.nathwani@gmail.com',
    LICENSE='MIT',
    url='https://github.com/abhijitnathwani/PyQuiz',
    keywords='pyquiz tkinter'

)

为了打包,我使用

python setup.py sdist upload

包已成功添加到 PyPi 包中,我可以使用以下方式安装它:

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

但是当我这样做的时候,

user@somecomputer:~/PyQuiz$ py-quiz
py-quiz: command not found

如何从命令行启动游戏?请帮帮我。

维护应用程序代码here

我最终通过进行以下更改解决了上述问题。 目录下必须有创建的包,文件夹结构如下:

<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']

要点是在项目目录中创建一个包。这应该可以解决主要问题。