首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在pip安装后找不到软件包

在pip安装后找不到软件包
EN

Stack Overflow用户
提问于 2017-11-10 12:47:48
回答 1查看 1.6K关注 0票数 1

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

然后,我尝试使用pip install a2d_diary在Windows和Linux中的虚拟env中安装它,尽管它工作正常,所有依赖项都已安装,但是如果我试图在终端中运行a2d_diary (使用venv激活),它就找不到我的包。

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

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-10 13:08:38

文件a2d_diary.py已经安装,但不能通过从终端运行$ ad2_diary.py来访问。以下是已安装的包文件:

代码语言:javascript
复制
$ 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

代码语言:javascript
复制
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,因为我根本不做a2d_diary.py,所以不知道在Windows上做什么):a2d_diary.py中的第一行应该是

代码语言:javascript
复制
#!/usr/bin/env python

如果您的脚本可以使用任何版本的Python或

代码语言:javascript
复制
#!/usr/bin/env python3

特别适用于Python 3或

代码语言:javascript
复制
#!/usr/bin/env python2

具体用于Python 2。

现在,如果您构建一个轮子或源tar并安装它,您将能够通过

代码语言:javascript
复制
$ a2d_diary.py
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47223151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档