我喜欢通过setuptools来弄清楚Python命名空间包背后的神话,这是我所做的测试。通过virtualenv创建一个虚拟环境。在PyPI上找到一个命名空间包。通过pipinstall安装该包。检查安装的文件层次结构。我玩的包是zope.interface它与我的virtualenv上的以下文件层次结构配合得很好:~virenv/.../site-packages/zope.interface-3.8.0-py2.6-nspkg.pth/zope.interface-3.8.0-py2.6.egg-info//zope//interface//...一切看起来都很好,我喜欢zope
我是编程新手,过去几周一直在自学Python。大部分说明来自资源“艰难地学习Python”。现在我的问题是,我刚开始做一个测验,基本上让你完成并安装你自己的setup.py文件。但是,在花了一些时间了解该文件并尝试运行它之后;我在此处的第二个单引号上不断收到“无效语法”错误:'包':[],.我已经尝试了所有我能想到的方法,例如从左侧的变量中删除所有单引号、用等号替换冒号、重命名某些文件和文件夹,或三者的组合。我将代码与提供类似教程的其他站点进行了比较。这是以前的想法出现的地方,并在包括谷歌和stackoverflow.com在内的几个地方搜索了这个问题的解决方案。但是,到目前为止,我还
所以,我希望我的安装脚本的long_description是我的README.md文件中的内容。但是当我这样做时,源代码分发的安装将失败,因为pythonsetup.pysdist不会复制自述文件。有没有办法让distutils.core.setup()使用sdist命令包含README.md文件,以便安装不会失败?我尝试了一些解决方法,当README.md文件不可用时,我默认使用一些较短的文本,但实际上我确实希望PyPi不仅能获取自述文件的内容,还能获取自述文件的内容也是安装包的用户。 最佳答案 要在分发中手动包含文件,请执行以下
我正在尝试从使用pyximport转换为通过distutils进行构建,我被它在放置.so文件的位置所做的奇怪选择所困扰。因此,我决定从cython文档构建教程,却发现它打印了一条消息,说明其正在构建,但什么也没做。我在virtualenv里面,cython、python2.7等都安装在里面。首先是基础知识:$cython--versionCythonversion0.21.2$catsetup.pyfromdistutils.coreimportsetupfromCython.Buildimportcythonizeprint"hellobuild"setup(ext_modules
我有一个Python项目prj,我们可以将其描述为文件夹集合和一个requirements.txt文件:[prj/fold1,prj/fold2,...,prj/foldN,prj/requirements.txt]我想把这个项目打包,方便其他电脑安装。我的理解是我需要添加一个setup.py文件,但是有几处我不明白。我应该在setup.py文件中写些什么来创建一个wheel包?您能否提供打包项目所需的文件示例和命令?编辑:我有这个setup.py:(virtual_env_test)lpuggini@lpuggini-T3420:~/mlp/trunk$catsetup.pyfrom
通过setuptools安装numpy+pandas作为setup.py中的依赖项对我不起作用。这与缺少依赖关系无关。如果我通过pipinstallnumpy安装numpy然后pythonsetup.pydevelop一切正常。如果我对setuptools文档的理解正确,那么所有包都是先构建然后安装。所以numpy是构建的,但在构建pandas时没有安装。作为解决方法,我将numpy添加到我的setup_requires中。这工作正常,但显然不是一个非常干净的解决方案。有人知道通过setuptools安装numpy+pandas的干净解决方案(仅Linux就可以)吗?更新:依赖是通过配
我在我的ipad上使用python,需要一种方法从packagessetup.py中获取名称、版本、包等。我无权访问setuptools或distutils。起初我以为我会解析setup.py,但这似乎不是答案,因为有很多方法可以将args传递给setup()。我想创建一个模拟setup()来返回传递给它的args,但我不确定如何克服导入错误。任何帮助将不胜感激。 最佳答案 别开玩笑了。这适用于python3.4.3和2.7.6;)exportVERSION=$(pythonmy_package/setup.py--version)
我有一个在Linux上使用C扩展编译的项目,但没有他们在Windows上。当我第一次在Windows上使用pythonsetup.pybdist_wheel生成wheel文件时,它们变得通用,我无法将它们上传到PyPI,因为这些通用wheel是pip的首选安装用通过.tar.gz上传(来自pythonsetup.pysdist的结果)。解决这个问题的技巧是在setup.py中指定:Distribution.is_pure=lambda*args:False或通过继承Distribution:classBinaryDistribution(Distribution):defis_pure
假设我要安装pyodbc。它不能在某些Windows机器上构建,但有一个替代方案-pypyodbc,它是pyobdc的纯python实现。有没有一种方法可以为setuptools.setup指定install_requires=["pyobdc"]并回退到pypyodbc如果前一个包没有安装?UPD:我针对这种特殊情况的解决方案:importsysfromsetuptoolsimportsetupifsys.platform.startswith("win"):pyodbc="pypyodbc>=1.2.0"else:pyodbc="pyodbc>=3.0.7"...setup(...
这是一篇很长的文章,但经过广泛研究后我找不到解决方案。我在OSX10.8上有一个Django1.4.1/Scrapy0.14.4混合项目,我使用Django项目的manage.py命令控制Scrapy,如here所述。.例如,调用pythonmanage.pyscrapycrawlexample_spider工作没有问题。现在我要设置scrapydweb服务来部署我的蜘蛛程序。但是,当我执行pythonmanage.pyscrapyserver然后我得到这个异常:scrapy.exceptions.NotConfigured:Unabletofindscrapy.cfgfiletoin