问题标签 [pypi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 为不同版本的 Python 上传不同版本的包到 cheeseshop
我有一个开源 Python 项目(称为 GarlicSim),我为 Python 版本 2.4、2.5、2.6 和 3.1 维护了 4 个不同版本。是的,也许这很不寻常,但我喜欢使用尽可能多的功能。我将它们保存在存储库的 4 个不同的分支中。
现在我想将我的项目上传到奶酪店。这样做的方法是什么?我希望用户会自动获得适合其 Python 版本的 GarlicSim 版本。我怎么做?
python - 使用 setuptools/distribute 打包资源
我正在开发一个 Python egg,它有几个 .txt 依赖项(它们是由 egg 本身生成文件的模板),我正在努力将这些依赖项复制到 .txt 文件site-packages
中setup.py install
。根据distribute
文档...
我的包的文件系统:
在 setup.py 中:
在我的包裹中:
...配置和文件系统的这种组合应该导致file1.txt
并且file2.txt
可以通过pkg_resources.resource_string
. 不幸的是,它们没有被复制到site-packages
. setup.py install
我错过了什么?
谢谢!
python - 奇怪的 PyPI 身份验证行为
我正在尝试将我的包上传到 PyPI。它要求我识别,我做了,它给出了一个 OK 响应(除非识别正确,否则不会发生),但随后它声称我没有识别!为什么?
python - 我怎样才能使这个 long_description 和 README 相差几句话?
对于我的一个包,我有一个 README.rst 文件,它被读取到 setup.py 的长描述中,如下所示:
这样,我每次提交时都可以让 README 文件显示在我的github 页面上,并且每次提交时都显示在pypi页面上python setup.py register
。只有一个问题。我希望 github 页面可以这样说:“本文档反映了 envbuilder 的预发布版本。有关最新版本,请参阅 pypi。”
我可以将这些行放在 README.rst 中,然后在 I 之前删除它们python setup.py register
,但我知道在推送到 pypi 之前,有时我会忘记删除这些句子。
我正在尝试考虑自动化的最佳方法,所以我不必担心它。有人有想法么?我可以做任何 setuptools/distutils 魔术吗?
python - 带有替代索引的 pip requirements.txt
我想将 repoze Zope2 安装的所有要求放在 pip要求文件中。大多数 repoze 包似乎不在 PyPi 上,但这里有一个替代的 PyPi索引。但我不知道如何告诉 pip 将该索引与需求文件一起使用。对于单个包裹,这很容易
我尝试了以下
或在我的 requirements.txt 中所有这些类型或排列:
或(因为文档说“请注意,所有这些选项都必须单独一行。”)
那么,告诉 pip 使用http://dist.repoze.org/zope2/2.10/simple/作为索引的正确方法是什么?
python - 从 PyPI 安装包时出现问题:未安装根文件
在通过或安装BitTorrent-bencode包,或者通过下载 tarball 并安装它之后,我发现包含和目录。尽管这两个子目录都包含文件,但目录本身没有文件。tarball 确实包含,它是这个包的实际源代码,但这些工具中的任何一个都没有安装它。easy_install BitTorrent-bencode
pip install BitTorrent-bencode
easy_install $tarball
/usr/local/lib/python2.6/dist-packages/BitTorrent_bencode-5.0.8-py2.6.egg/
EGG-INFO/
test/
BitTorr*
bencode.py
我对这一切都很陌生,所以我不确定这是包裹的问题还是我正在做的事情。该软件包是在不久前(2007 年)打包的,因此它可能使用了一些不推荐使用的配置方面,我需要为其提供命令行标志。
我更感兴趣的是了解包或我的程序出了什么问题,而不是安装这个特定的包。还有另一个名为hunnyb的软件包似乎在解码编码数据方面做得足够好。大多数情况下,我想知道如何处理其他包中的此类问题。我还想让包维护者知道包是否需要更新。
编辑
@Andrey Popp 解释说问题可能出在 setup.py 文件上。我想我能真正回答我的问题的唯一方法是实际 R-ing TFM。但是,由于我可能暂时没有时间彻底完成这项工作,因此我已在此处发布了 setup.py 文件。
快速浏览easy_install 手册会发现该模块的 setup.py 使用的函数 find_modules() 搜索__init__.py
包中命名的文件。有问题的源代码文件被命名bencode.py
,所以也许这就是问题所在:它应该被命名__init__.py
?
编辑 2
setuptools.find_packages
现在学习了 Python 打包,我认为问题在于该模块正在使用package_dir
. 修复它似乎相当简单。但是,无法通过他的 PyPI 联系信息联系到作者。该模块的 PyPI 页面也列出了“包索引所有者”。我不确定这应该是什么意思,但我确实设法与那个人取得了联系,我认为他可能无法维护该模块。无论如何,它仍然与我在六月发布此问题时的状态相同。
鉴于该模块似乎或多或少被遗弃,并且在hunnyb中有合适的替代品,我已经接受@andreypopp 的答案与我将得到的一样好。
python - 为什么使用 pip 而不是 easy_install?
一条推文写道:
不要使用easy_install,除非你喜欢刺伤自己的脸。使用点子。
为什么使用 pip 而不是 easy_install?主要不是PyPI 和包作者的错吗?如果作者将垃圾源 tarball(例如:缺少文件,没有 setup.py)上传到 PyPI,那么 pip 和 easy_install 都会失败。除了外观上的差异,为什么 Python 人(如上面的推文)似乎更喜欢pip 而不是 easy_install?
(假设我们谈论的是来自社区维护的 Distribute 包中的 easy_install)
python - 如何让 setuptools 安装不在 PyPI 上的包?
我刚刚开始使用 setuptools 和 virtualenv。我的包需要最新的 python-gearman,只能从 GitHub 获得。PyPI 上的 python-gearman 版本是旧版本。Github 源码是 setuptools 兼容的,即有 setup.py 等。有没有办法让 setuptools 下载并安装新版本,而不是在 PyPI 上查找并安装旧版本?
仅供参考,新的 python-gearman 是http://github.com/mtai/python-gearman
python - 为什么当 PyPi 显示版本 1.0.0 时 pip 安装 matplotlib 版本 0.91.1?
2012 年 10 月 15 日更新
PyPi 现在在 1.1.0 显示 matplotlib,所以这个问题得到了解决。通过以下方式安装 matplotlib:
pip install matplotlib
下面是过时的信息
PyPi显示matplotlib 1.0.0。但是,当我通过pip将 matplotlib 安装到virtualenv时,会安装 0.91.1 版本。
- 为什么版本不同?
- 有没有办法 pip install matplotlib 1.0.0?
研究
看来matplotlib 在 PyPi 上的 DOAP 记录指向正确的版本。以下是 DOAP 记录供参考:
配置
- 操作系统:Mac OS X 10.6.6
- 蟒蛇 2.7
- 虚拟环境 1.5.1
- 点 0.8.1
2010 年 8 月 24 日上午 7:09 更新
从 PyPi 镜像安装也会安装 0.91.1 版本:
更新 2011 年 1 月 14 日下午 4:54
即使matplotlib 1.0.1已经发布,这个问题仍然存在。
python - 如何将包发送到 PyPi?
我写了一个小模块,我想知道打包它以将其发送到pypi的基本步骤是什么:
- 什么是文件层次结构?
- 我应该如何命名文件?
- 我应该使用 distutils 创建 PKG-INFO 吗?
- 我应该在哪里包含我的文档(用 sphinx 制作)?