pip安装后找不到包

时间:2017-11-10 12:47:48

标签: python pip

我已经使用Flit向PyPi发布了一个模块:a2d_diary(我已经检查过tar.gz包含所有脚本)。

然后,我尝试使用pip install a2d_diary在Windows和Linux中的虚拟环境中安装它,虽然它可以正常安装所有依赖项,但如果我尝试在终端中运行a2d_diary(使用venv activate)它找不到我的包裹。

这是Flit,PyPi的问题还是我在主脚本中遗漏了什么?源代码为here

谢谢!

1 个答案:

答案 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