我在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='[email protected]',
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']
重点是在项目目录中创建一个包。这应该解决重大问题。