【发布时间】:2017-09-13 09:51:58
【问题描述】:
我在 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。
【问题讨论】:
-
Abhijit,你错过了在创建源分发之前注册设置文件 $ python setup.py 注册,详情python-packaging.readthedocs.io/en/latest/minimal.html
-
我做到了。但是得到了响应`Server response (410): Project pre-registration is no longer required or supported, so continue directly to upload files.`。注册现在已被弃用。我们只需要直接上传。 @Anup
-
在设置中添加入口点:entry_points={ 'console_scripts': [ 'my_project = my_project.__main__:main' ] },
-
我按照您的指示尝试过,但仍然没有帮助。将我的最终脚本重命名为“
main .py”,并添加了一个要调用的 main() 函数。还是不行。你能详细说明一下吗? @Anup -
我看到你解决了问题here(好吧!)。未来的搜索者可以在下面添加您的答案。 ;-)
标签: python tkinter packaging pypi