我已经使用Flit向PyPi发布了一个模块:a2d_diary(我已经检查过tar.gz包含所有脚本)。
然后,我尝试使用pip install a2d_diary
在Windows和Linux中的虚拟环境中安装它,虽然它可以正常安装所有依赖项,但如果我尝试在终端中运行a2d_diary
(使用venv activate)它找不到我的包裹。
这是Flit,PyPi的问题还是我在主脚本中遗漏了什么?源代码为here
谢谢!
答案 0 :(得分:2)
已安装文件a2d_diary.py
,但无法通过终端运行$ ad2_diary.py
访问该文件。这些是已安装的包文件:
$ pip show -f a2d_diary
Name: a2d-diary
Version: 0.1
Summary: A2D-Diary web app. Create and encode paper diaries
automatically
Home-page: https://a2d-diary.netlify.com
Author: Julio Vega
Author-email: julio.vega@protonmail.com
License: UNKNOWN
Location: /Users/hoefling/.virtualenvs/stackoverflow/lib/python3.6/site-packages
Requires: PyPDF2, numpy, waitress, opencv-python, reportlab, falcon-multipart, falcon, Pillow
Files:
__pycache__/a2d_diary.cpython-36.pyc
a2d_diary-0.1.dist-info/INSTALLER
a2d_diary-0.1.dist-info/LICENSE
a2d_diary-0.1.dist-info/METADATA
a2d_diary-0.1.dist-info/RECORD
a2d_diary-0.1.dist-info/WHEEL
a2d_diary.py
如果您希望脚本在安装后可执行,则必须在软件包安装文件中声明它(顺便说一句,我在您的存储库中看不到任何setup.py
- 您是否提交了它? )。示例setup.py
:
from setuptools import setup, find_packages
setup(
name='a2d_diary',
version='0.1',
packages=find_packages(where='src'),
package_dir={
'': 'src',
},
scripts=['src/a2d_diary.py'],
)
为了使你的a2d_diary.py
脚本可执行,你需要的另一件事是shebang系列(适用于Unix,不知道在Windows上做什么,因为我根本不做Windows):第一行a2d_diary.py
应该是
#!/usr/bin/env python
如果您的脚本可以使用任何版本的Python或
运行#!/usr/bin/env python3
专门用于Python 3或
#!/usr/bin/env python2
适用于Python 2。
现在,如果您构建一个轮子或源tar并安装它,您将能够通过
运行脚本$ a2d_diary.py