Linux Pypi包:我的可执行文件在哪里?
(Archlinux/Python3.5) 我正在做一个由…组成的。在教程(如)的帮助下,我使用以下命令创建了:Linux Pypi包:我的可执行文件在哪里?,linux,pypi,python-3.5,Linux,Pypi,Python 3.5,(Archlinux/Python3.5) 我正在做一个由…组成的。在教程(如)的帮助下,我使用以下命令创建了: $ python setup.py sdist bdist_wheel register -r pypi (ok, no error msg) $ python setup.py sdist bdist_wheel upload -r pypi (ok, no error msg) 。。。我想我只需要写下: $ sudo pip install katal (ok
$ python setup.py sdist bdist_wheel register -r pypi (ok, no error msg)
$ python setup.py sdist bdist_wheel upload -r pypi (ok, no error msg)
。。。我想我只需要写下:
$ sudo pip install katal (ok, no error msg)
然后,例如:
$ katal --version
。。。为了使用它
但最后一个命令失败:没有katal
或katal
命令;如果我看一下/usr/lib/Python3.5/site packages/
,我只看到以下文件(没有安装.py文件!):
我显然忘了什么。。。但是什么呢?我清楚地知道我的项目的唯一包在哪里(=除了test
目录,包括katal
子目录以外的所有内容):
任何帮助都将不胜感激 在setup.py中,有一个部分被注释掉了:
...
##entry_points={
## 'console_scripts': [
## 'sample=sample:main',
## ],
##
...
这是我通常定义可执行文件的地方,请参阅。您还可以为设置定义一个
scripts
参数,该参数的工作方式稍有不同(可能会更好地匹配您的用例),但我链接到的教程中介绍了这一点。谢谢您的提示!我尝试使用“控制台脚本”:“katal=katal.katal”,]但是,除了setup.py之外,包中没有.py文件;具体来说,katal/子目录没有出现在要下载的tar ball中。脚本=[os.path.join(“.”,“katal”,“katal.py”)]也有同样的问题,是的,这很奇怪,我正在研究这个问题。setuptools似乎无法找到katal包,因此传递到脚本
或入口点[“控制台脚本”]
的任何内容都将被忽略。真正的问题是,我看不出你如何使用find_packages
这应该是可行的……但我对此很感兴趣,所以我正在努力。当我找到某个内容时,将更新我的答案。好的,因此我可以通过添加脚本=['katal/katal.py']
使其正常工作。我的猜测是pypi上的包已经过时了,您需要恢复,添加scripts参数,然后再次上传。然后您应该能够从命令行调用katal.py
。我会避免os.path.join(“.”,…)
,因为这将在安装/构建时执行,而不是在安装后相对于目录执行。你说得对!我为洪水道歉。谢谢你提供的所有细节。我更新了我的OP。
packages=find_packages(exclude=['tests*']),
...
##entry_points={
## 'console_scripts': [
## 'sample=sample:main',
## ],
##
...