在python开发环境中运行入口点console_script

2024-03-08

作为 python 包开发人员,运行使用入口点的控制台脚本的过程是什么?

我有一个 python 项目,其中有setup.py和。其中,我有一个

 entry_points={
        'console_scripts': [
            'myscript=mypackage.myscript.__main__:main',
        ]
    },

If I do python setup.py develop, I do最终得到包装脚本virtualenv/bin,但是当我运行它们时出现错误:

ImportError:找不到入口点('console_scripts','myscript')

(以上does如果我工作的话pip install .)

现在,从项目顶部,我可以复制包装器脚本并手动执行以下操作:

$ python
Python 3.6.8 (default, Apr 25 2019, 21:02:35) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pkg_resources import load_entry_point
>>> load_entry_point('mypackage', 'console_scripts', 'myscript')
<function main at 0x7f7b971bcea0>
>>> 

所以,我从中得到的是virtualenv/bin/myscript正在寻找virtualenv对于该包,当我从开发环境顶部手动运行它时,它会在当前目录中查找包。

我不想用完它virtualenv尽管。我不想做pip install .每次我想尝试修改我的脚本时。

这里的预期工作流程是什么?手动运行python -m mypackage.myscript?我宁愿像用户一样运行它。复制 virtualenv/bin 脚本?那么它们可能就会过时......

我无法在 setuptools 文档中找到开发工作流程的这方面。

update:

我确实在我的 virtualenv 中找到了这个setup.py develop:

$ more virtualenv/lib/python3.6/site-packages/mypackage.egg-link
/home/me/src/mypackage.git
.

按照@Iguananaut的建议,我跑了pip install -e .反而。

现在可以了。

所以我然后做了一个pip uninstall mypackage并做了一个python setup.py develop再次重现。它没有重现。

我现在明白了load_entry_point从字面上看entry_points.txt来自mypackage.egg-info。我唯一的猜测是,不知何故该文件是坏的......并且没有通过运行来修复python setup.py develop.

所以——我的问题的答案是:

要在开发环境中运行控制台脚本,请使用pip install -e .并运行脚本virtualenv/bin/。它的设计初衷就是以这种方式工作,如果不这样,那就是其他地方出了问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在python开发环境中运行入口点console_script 的相关文章

  • 最小二乘法拟合直线 python 代码

    我有一个由 X 和 Y 坐标组成的散点图 我想使用直线的最小二乘拟合来获得最佳拟合线 直线最小二乘拟合是指 如果 x 1 y 1 x n y n 是测量数据对 则最佳直线是y A Bx 这是我的Python代码 number of poin
  • python 3 argparse 调用函数

    我想在 python3 中创建一个类似命令行 类似 shell 的界面 Argparse 似乎负责解析和显示帮助 错误消息 根据argparse 的 python3 文档 https docs python org 3 5 library
  • 组和平均 NumPy 矩阵

    假设我有一个任意的 numpy 矩阵 如下所示 arr 6 0 12 0 1 0 7 0 9 0 1 0 8 0 7 0 1 0 4 0 3 0 2 0 6 0 1 0 2 0 2 0 5 0 2 0 9 0 4 0 3 0 2 0 1 0
  • 使用 pandas 将字符串对象转换为 int/float

    import pandas as pd path1 home supertramp Desktop 100 life 180 data csv mydf pd read csv path1 numcigar Never 0 1 5 Ciga
  • Paramiko SSHException 通道已关闭

    我一直在使用 Paramiko 在 Linux Windows 机器上发送命令 它可以很好地在 Ubuntu 机器上远程执行测试 但是 它不适用于 Windows 7 主机 以下是我收到的错误 def unit for event self
  • numpy:大量线段/点的快速规则间隔平均值

    我沿着一维线有许多 约 100 万个 不规则间隔的点 P 这些标记线段 这样 如果点是 0 x a x b x c x d 则线段从 0 gt x a x a gt x b x b gt x c x c gt x d 等 我还有每个段的 y
  • 在Python中以交互方式执行多行语句

    我是 Python 世界的新手 这是我用 Python 编写的第一个程序 我来自 R 世界 所以这对我来说有点不直观 当我执行时 In 15 import math import random random random math sqrt
  • 返回上个月的日期时间对象

    如果 timedelta 在它的构造函数中有一个月份参数就好了 那么最简单的方法是什么 EDIT 正如下面指出的那样 我并没有认真考虑这一点 我真正想要的是上个月的任何一天 因为最终我只会获取年份和月份 因此 给定一个日期时间对象 返回的最
  • 在谷歌云上训练神经网络时出现“无法获取路径的文件系统”错误

    我正在使用 Google Cloud 在云上训练神经网络 如下例所示 https cloud google com blog big data 2016 12 how to classify images with tensorflow u
  • 如何使用 Celery 多工作人员启用自动缩放?

    命令celery worker A proj autoscale 10 1 loglevel info启动具有自动缩放功能的工作人员 当创建多个工人时 me mypc projects x celery multi start mywork
  • 计算 pyspark df 列中子字符串列表的出现次数

    我想计算子字符串列表的出现次数 并根据 pyspark df 中包含长字符串的列创建一个列 Input ID History 1 USA UK IND DEN MAL SWE AUS 2 USA UK PAK NOR 3 NOR NZE 4
  • Django Rest Framework POST 更新(如果存在或创建)

    我是 DRF 的新手 我阅读了 API 文档 也许这是显而易见的 但我找不到一个方便的方法来做到这一点 我有一个Answer与 a 具有一对一关系的对象Question 在前端 我曾经使用 POST 方法来创建发送到的答案api answe
  • 在 matplotlib 中绘制多边形的并集[重复]

    这个问题在这里已经有答案了 我正在尝试绘制几个多边形的并集matplotlib 具有一定的 alpha 水平 我当前的代码在交叉点处颜色较深 有没有办法让交叉路口与其他地方的颜色相同 import matplotlib pyplot as
  • 在Python中连续解析文件

    我正在编写一个脚本 该脚本使用 HTTP 流量行解析文件 并取出域 目前仅将它们打印到屏幕上 我正在使用 httpry 将流量连续写入文件 这是我用来删除域名的脚本 usr bin python import re input open r
  • 在 scipy 中创建新的发行版

    我试图根据我拥有的一些数据创建一个分布 然后从该分布中随机抽取 这是我所拥有的 from scipy import stats import numpy def getDistribution data kernel stats gauss
  • 在 Python 中访问 argparse 的参数值

    我正在尝试为我的程序设置一些简单的标志参数 但无法弄清楚如何访问它们 我有 argparser parser argparse ArgumentParser description Simple PostScript Interpreter
  • Python:无法使用 os.system() 打开文件

    我正在编写一个使用该应用程序的 Python 脚本pdftk http www pdflabs com tools pdftk the pdf toolkit 几次来执行某些操作 例如 我可以在 Windows 命令行 shell 中使用
  • 如何更改matplotlib中双头注释的头大小?

    Below figure shows the plot of which arrow head is very small 我尝试了下面的代码 但它不起作用 它说 引发 AttributeError 未知属性 s k 属性错误 未知属性头宽
  • 使用 SERVER_NAME 时出现 Flask 404

    在我的 Flask 配置中 我将 SERVER NAME 设置为 app example com 之类的域 我这样做是因为我需要使用url for with external网址 如果未设置 SERVER NAME Flask 会认为服务器
  • 在python中对列表列表执行行总和和列总和

    我想用python计算矩阵的行和和列和 但是 由于信息安全要求 我无法使用任何外部库 因此 为了创建矩阵 我使用了列表列表 如下所示 matrix 0 for x in range 5 for y in range 5 for pos in

随机推荐

  • 插入时数据类型不匹配(代码 20)

    在我的项目中 我使用 sqlite 数据库来保存图片及其位置 我在尝试将数据插入数据库时 收到此错误 E SQLiteLog 20 statement aborts at 5 INSERT INTO PHOTO VALUES NULL da
  • 如何在emr上重启hadoop集群

    我在 Amazon Elastic MapReduce 上安装了 hadoop 每当我尝试重新启动集群时 都会收到以下错误 stop all sh no jobtracker to stop The authenticity of host
  • React-Native是单线程执行还是多线程执行?

    我想通过示例了解 React Native 是否支持单线程或多线程方法 它是单线程的 请参考此链接 我想这会消除你所有的疑虑 https react native canny io feature requests p parallel m
  • 切换 Git 分支而不检出文件

    Git 是否可以在不检查所有文件的情况下切换到另一个分支 切换分支后 我需要删除所有文件 重新生成它们 提交并切换回来 所以检查文件只是浪费时间 大约有 14 000 个文件 这是一个很长的操作 为了让一切都清楚 我需要上传所有这些文档 h
  • Azure B2C Graph API - 强制用户在下次登录时更改密码[重复]

    这个问题在这里已经有答案了 我希望使用 graph api 来强制用户在下次登录时重置他 她的密码 如果我发送用户对象 ID 以及 forceChangePasswordNextLogin true我得到了成功的回复 但是 用户的帐户实际上
  • 如何在html5中浮动部分标签

    这可能是一个非常简单的问题 因此 如何漂浮 离开 section 标签 我尝试使用float left 但不起作用或者是否可以将标签与其内容垂直对齐 这是我的尝试 html div section h1 heyo h1 a href dro
  • as3 中的阿拉伯语文本

    如何使用as3从右到左显示阿拉伯文本 这段代码可以解决这个问题 import flash text AntiAliasType import flash text TextField import flash text TextFieldA
  • 总是在 Apache 中发送内容长度?

    我正在加载一个由 PHP 动态生成的特别大的 JSON 字符串 为了向用户提供一些反馈 我想显示下载进度 我已经弄清楚了代码 它对于静态内容 例如图像 JS 文件等 工作得很好 但是 它似乎不适用于动态文件 这是有道理的 因为动态文件没有可
  • 将 C# 委托转换为 f#

    如何将委托转换为 F 代表 delegate IntPtr HookProc int code IntPtr wParam IntPtr lParam Edited 我正在做的是使用 F 中的 C 托管 API 进行低级键盘挂钩 Code
  • 为什么 Spring Rest 服务在第一次请求时速度很慢?

    所以这个问题已经被问过几次了 但似乎没有人以可以帮助我的方式回答它 我目前正在为处理产品数据的简单应用程序制作后端 它甚至没有使用 JSP 只是一个普通的 Rest 后端 使用 Spring 的 RestController 问题 是 启动
  • 为什么在 C# 中经常看到“null!=variable”而不是“variable!=null”?

    在c 中 声明条件的顺序执行速度有什么区别吗 if null variable if variable null 最近以来 我经常看到第一个 因为我已经习惯了第二个 所以它引起了我的注意 如果没有区别 第一个的优点是什么 这是 C 语言的保
  • 蟒蛇龟太空入侵者的子弹没有击中入侵者

    一般来说 我对海龟和Python都很陌生 所以如果我的代码看起来很混乱 我深表歉意 我目前正在编写海龟版本的太空入侵者 我不明白为什么我的入侵者在击中海龟时没有死亡 该代码似乎与我能找到的所有其他太空入侵者海龟程序相同 任何帮助将不胜感激
  • 从支持 bean 重新加载页面

    在我的代码中 我正在扩展左框架中的树节点 该树节点是通过右框架中存在的导航链接选择的 它有效 但每次我单击右框架上的链接时 我都必须手动刷新右框架 我尝试使用 javascript 代码从支持 bean 重新加载页面 但它不起作用 谁能帮我
  • Matlab中的annotation()和text()

    我想知道有什么区别annotation and text Matlab 中的函数 在什么情况下 其中一个比另一个更受青睐 TEXT http www mathworks com access helpdesk help techdoc re
  • 如何将 git 存储库提交到 git 存储库(不是子模块)

    当我尝试将 git 存储库添加并提交到另一个 git 存储库时 git 会帮助将其放入子模块中 如果我want跟踪并提交对外部存储库中的嵌套存储库的更改 IE 我希望外部存储库跟踪嵌套存储库工作树及其 git 目录中的所有文件 这里的用例是
  • 在 bash 脚本中运行 ssh-agent

    我创建了文件 ssh start sh 其中包含 eval ssh agent s ssh add ssh id rsa 我正在运行它并有输出 Agent pid 1234 Identity added ssh id rsa ssh id
  • 在故事板中制作的容器视图不会以编程方式更改框架

    我有一个容器视图 property weak nonatomic IBOutlet UIView containerView 但是当我设置它的框架时它不会移动 这是我正在尝试的方法 void setFramesForCategories C
  • 无形:Generic.Aux

    我试图理解如何Generic作品 和TypeClass也 github wiki 上的示例和文档非常稀疏 是否有规范的博客文章 文档页面描述Generic and TypeClass详细地 具体来说 这两种方法有什么区别 def find1
  • 当打开函数跟踪时,Android 上的 Ftrace 冻结,有人帮助我:(

    我已经在android AVD上安装了Ftrace并尝试使用Ftrace的功能 但它不起作用 下面是我所做的事情的列表 安装 ubuntu 10 04 LTS 安装必要的工具 如android sdk 工具链 库等 下载金鱼内核 参考 ht
  • 在python开发环境中运行入口点console_script

    作为 python 包开发人员 运行使用入口点的控制台脚本的过程是什么 我有一个 python 项目 其中有setup py和 其中 我有一个 entry points console scripts myscript mypackage