- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 setup.py:
from setuptools import setup
from distutils.core import setup
setup(
name="foobar",
version="0.1.0",
author="Batman",
author_email="batman@gmail.com",
packages = ["foobar"],
include_package_data=True,
install_requires=[
"asyncio",
],
entry_points={
'console_scripts': [
'foobar = foobar.__main__:main'
]
},
)
现在,main.py 文件已安装并可在安装后由 foobar 从控制台调用,这正是我想要的。问题是,main.py 在第 3 行有导入,但它不起作用。
所以我的文件夹结构如下
dummy/setup.py
dummy/requirements.txt
dummy/foobar/__init__.py
dummy/foobar/__main__.py
dummy/foobar/wont_be_imported_one.py
我在虚拟目录中运行 python3 setup.py bdist
。安装后运行 foobar 时,出现错误
File "/usr/local/bin/foobar", line 9, in <module>
load_entry_point('foobar==0.1.0', 'console_scripts', 'foobar')()
[...]
ImportError: No module named 'wont_be_imported_one'.
更新。__init__.py
的内容为
from wont_be_imported_one import wont_be_imported_one
wont_be_imported_one.py
具有我实际需要导入的来自 wont_be_imported_one
的函数。
最佳答案
在 Python 3 中,import
默认是绝对的,因此 from wont_be_imported_one import ...
inside foobar
将被解释为对 foobar
之外的某个名为 wont_be_imported_one
的模块的引用。您需要改用相对导入:
from .wont_be_imported_one import wont_be_imported_one
# ^ Add this
参见 PEP 328获取更多信息。
关于python - setup.py console_scripts 入口点不解析导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39207670/
我在 Windows 上使用 setuptools(版本 0.6c11),并指定要通过 console_scripts 安装的控制台脚本入口点。它在 Linux 上运行良好,但在 Windows 下,
我在 setup.py 中有以下代码 from setuptools import setup setup( name='raas', version='0.1', descr
我无法在我的 python 包中导入入口点控制台脚本。寻求帮助调试我当前的问题,因为我已阅读有关该问题的所有相关帖子。 这是我的目录结构: ├── ContentAnalysis │ ├── __
我正在使用众所周知的第三方打包系统打包一些 python 包,但我遇到了入口点创建方式的问题。 当我在我的机器上安装入口点时,入口点将包含一个指向任何 python 解释器的 shebang,如下所示
我正在尝试按照learnpythonthehardway教程中的说明启动 Nose 测试。 我尝试从Powershell运行 Nose 测试,并得到以下信息: PS E:\python\project
我想知道是否有任何方法可以为setup()的entry_points arg内的console_scripts中定义的命令指定别名。 我可以做这样的事情吗? entry_points={
我有以下 setup.py: from setuptools import setup from distutils.core import setup setup( name="foobar
我有一个设置入口点 console_script 的包,我希望 console_script 将 python 函数/脚本作为 Python3 运行 我的包使用 urllib.request 模块 (
我有一个复杂的 python 程序,我想在 setup.py 所在的位置进行调试 entry_points=dict( console_scripts=[ 'mypr
当创建console_scripts作为entry_points时,如何访问包中的数据文件(package_data)? setup( # other stuff entry_poin
我在使用 python whl 包时遇到了以下问题: 我有一个包,在我的 setup.py 中定义了一个入口 pip 。当我运行 pip install . 时,它会正确安装包 AND 入口 pip
My package在它的 setup.py 中定义了一个入口点: # -*- coding: utf-8 -*- from setuptools import setup setup( na
我的 setup.py有以下 console_scripts 作为入口点: entry_points={ 'console_scripts': ['script=myapp.app:d
当前的 django 文档告诉我这个: django.setup() may only be called once. Therefore, avoid putting reusable applic
我将我的代码打包到 python 包中,现在我希望它也可以从命令行 (linux) 运行。所以我在 setup.py 中添加了 console_scripts 标签,当我以 root 身份 pip 安
我有一个 Python 包 package_name它提供了一个命令行应用程序command-line-app-name如console_script :setup.py : setup( .
我正在尝试在 Python 中构建一个名为 dnsrep 的程序,我正在使用 setuptools 以便我可以在不使用命令 python dnsrep 的情况下调用 dnsrep 模块。我写的setu
我创建了一个带有 GUI 组件的 python 库。我正在使用 setuptools 的 console_scripts 功能创建一个命令行启动器。目前,当我使用 console_scripts 启动
我正在尝试安装一个包,其中一个说明如下,但我收到错误。 easy_install -U distribute pip Traceback (most recent call last): File
通过 setup.py 将 Python 控制台脚本安装到我的路径中基本上有两种方法: setup( ... entry_points = { 'console_scr
我是一名优秀的程序员,十分优秀!