- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
setup.py
我维护的包中的文件,使用另一个包中的代码来构建扩展:
from setuptools import setup, find_packages
from mydependence import build_ext
...
setup(
name='mypackage',
version='1.0.0',
...
setup_requires = [
'mydependence', # is this being checked properly?
],
...
install_requires = [
'mydependence',
],
...
)
我想使用 zc.buildout
构建当前包,所以我创建了一个简单的 buildout.cfg
文件如:
[buildout]
parts = python
eggs = mypackage
[python]
recipe = zc.recipe.egg
interpreter = python
eggs = ${buildout:eggs}
不幸的是,当我执行./bin/buildout
时,这并没有像我预期的那样工作。和setup.py
读完后,它提示 mydependence
没有找到。当构建运行我的setup.py
时,其 sys.path
不知道 eggs
目录下安装的软件包(setuptools
本身除外!)。显然,“eggs”和“develop-eggs”中的软件包不包含在 ./bin/buildout
中。运行包的 setup.py
时的路径.
问题:如何实现这一点?
最佳答案
基本问题是,在调用 setup()
方法之前,您已经从 mydependence
导入。我看不出 setuptools(或就此而言的构建)可以忽略您将得到的 ImportError
。
如果我查看一些示例代码,例如 http://pythonhosted.org/py2app/examples.html我看到这样的代码:
from setuptools import setup
setup(
app=["MyApplication.py"],
setup_requires=["py2app"],
)
请注意,没有导入 py2app
。所以 setup_requires 显然是一种将“扩展”加载到基本 setuptools 功能的方法。这不是规避基本 python 导入错误的方法。
更新:请参阅@MartijnPieters 下面的评论,他在 https://stackoverflow.com/a/12061891/27401 中提供了解决方案.
Martijn 的示例在您的情况下如下所示:
import setuptools
setuptools.dist.Distribution(dict(setup_requires='mydependence'))
# `setup_requires` is parsed and acted upon immediately;
# from here on out the package `mydependence` is installed
# and importable.
from mydependence import build_ext
setup(
...
install_requires = [
'mydependence',
],
....
)
关于python - 在构建过程中设置时导入 Egg 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14665936/
我正在浏览一些关于 python 的书籍,以便自动执行任务,例如在书中查找短语和对不同的事物使用不同的正则表达式。我觉得编程在任何领域都有用。然而,现在我正在整理一本食谱,我想知道一些事情。第一个我可
我在尝试理解全局语句时用 Python 编写了这段代码 - eggs=24 def f(): print(eggs) eggs=25 print(eggs) f() print(eggs) 输出
问题是试图获得关于如何做到这一点的确切说明。之前尝试的很少,似乎不是完整的解决方案: solution to move the file inside the package solution to
似乎有不止一种方法可以将 egg 安装到 buildout 中。 方式一: [buildout] ... eggs = eggname othereggname ... 方式二:
我正在尝试通过 Eclipse Settings -> PyDev -> Interpreter - Python -> New Egg/Zip(s) 将 python egg 添加到我的 eclip
所有“M-x egg-”命令都可以正常工作 M-x egg-start-new-branch start new branch with name: xxx 但是所有的“C-x v”键绑定(bi
我遇到了与 adding .egg files to the path 类似/相同的问题,在 PyCharm IDE 中它说: 但是,从控制台我有: In[2]: from scipydirect i
我有一个 django 应用程序,已根据此处的文档打包:https://docs.djangoproject.com/en/1.5/intro/reusable-apps/ 我使用 setup.py
我有一个 python 项目,我想将位于该项目根目录下的两个包打包到一个 Egg 中。 我在根目录下有一个 setup.py,如下所示: from setuptools import setup, f
我正在尝试安装dajax/dajaxice根据他们的文档,这建议我在我的 settings.py 中取消注释 Eggs 模板加载器(下面元组中的第三个) . TEMPLATE_LOADERS = (
setup.py我维护的包中的文件,使用另一个包中的代码来构建扩展: from setuptools import setup, find_packages from mydependence imp
对于基于 C# 的程序,有几个选项可以确定安装了哪个 .Net 版本。但是是否可以确定是否安装了 .Net?我的意思是,如果我在没有安装任何 .Net 的机器上运行 C# 程序,我会收到以下错误: M
假设我做了一个鸡蛋 ~/toolz$ python setup.py bdist_egg creating 'dist/toolz-0.7.4-py3.4.egg' 如何检测这个蛋的模块名称?它总是版
我正在尝试为我的 postfix 安装设置 ftw.mail。由于我是 Linux 和 Python 的新手,所以我真的不知道它是正确的、正确的方向还是垃圾。 从官方文档中我发现了这个: Add ft
我创建了一个 python egg 文件,用于将我的一些 python 模块导入 Azure databricks 集群。 包内的一些文件引用了同一个包内的其他文件。在本地安装,一切正常。当我将包加载
newemail = 'test@gmail.com' import zipfile import re egg = zipfile.ZipFile('C:\\Users\\myname\\Deskt
尝试使用 Django 创建简单数据库时出现以下错误。我是这台计算机上的唯一用户,所以我应该是管理员。我如何才能获得权限以便 Django 可以做它的事情? 这里还有一些错误: [Errno 13]
在./eggs/文件夹中,我有eggs文件和带有文件名列表的eggs.txt文件。 我想将所有这些鸡蛋安装在这个文件夹中。 我可以做类似的事情吗?:: $ easy_install -r eggs.t
我正在尝试向 Python Markdown-2.0.3-py2.7.egg 添加视频扩展 一切都不正常,所以我想使用 pdb 调试器来查看发生了什么。 我好像找不到插入pdb的源码。 鸡蛋位于此处:
这个问题假定我要安装的 python 包是一个包含模板和媒体文件的 django 应用程序。但是这个问题对于任何不仅仅包含 .py 文件的 python 包都是有效的。 我正在使用 buildout
我是一名优秀的程序员,十分优秀!