Questions tagged «setuptools»

Setuptools建立在Python的distutils的基础上,可以更轻松地构建,分发和安装库和应用程序。

11
在64位Windows上安装SetupTools
我在Windows 7 64位系统上运行Python 2.7,当我运行setuptools的安装程序时,它告诉我未安装Python 2.7。具体的错误消息是: `Python Version 2.7 required which was not found in the registry` 我安装的Python版本是: `Python 2.7 (r27:82525, Jul 4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32` 我正在看setuptools网站,它没有提到64位Windows的任何安装程序。我错过了什么吗,还是必须从源代码安装它?

2
python项目需要MANIFEST.in吗,应该在其中吗?
“ Python分发”指南(位于python-distribute.org,但注册已失败)告诉我包括doc/txt文件,并且.py文件中排除了MANIFEST.in文件 该sourcedist文档告诉我只有sdist用途MANIFEST.in,并只包括文件指定和包含.py文件。它还告诉我使用:python setup.py sdist --manifest-only生成一个MANIFEST,但是python告诉我这不存在 我很欣赏它们来自不同版本的python,并且分发系统完全混乱,但是假设我使用的是python 3,并且setuptools(新的包括distribution,但现在称为setuptools,而不是不赞成仅用于分发工具的旧setuptools重新分配到发行版,并将发行版重命名为setuptools .....) 我遵循的是“标准”文件夹结构和setup.py文件, 我需要一个MANIFEST.in吗? 应该是什么? 所有这些不同的包装系统和方法何时才能形成一个简单的过程?
120 python  setuptools 

6
如何编写setup.py以包含Git存储库作为依赖项
我正在尝试setup.py为我的包裹写东西。我的软件包需要指定对另一个Git存储库的依赖。 这是我到目前为止所拥有的: from setuptools import setup, find_packages setup( name='abc', packages=find_packages(), url='https://github.abc.com/abc/myabc', description='This is a description for abc', long_description=open('README.md').read(), install_requires=[ "requests==2.7.0", "SomePrivateLib>=0.1.0", ], dependency_links = [ "git+git://github.abc.com/abc/SomePrivateLib.git#egg=SomePrivateLib", ], include_package_data=True, ) 当我跑步时: pip install -e https://github.abc.com/abc/myabc.git#egg=analyse 我懂了 找不到满足SomePrivateLib> = 0.1.0要求的版本(来自分析)(来自版本:)找不到SomePrivateLib> = 0.1.0(来自分析)的匹配分布 我究竟做错了什么?

7
使用Python setuptools的安装后脚本
是否可以在setuptools setup.py文件中指定安装后的Python脚本文件,以便用户可以运行以下命令: python setup.py install 在本地项目文件存档上,或 pip install <name> 对于PyPI项目,该脚本将在标准setuptools安装完成时运行吗?我希望执行可以在单个Python脚本文件中编码的安装后任务(例如,向用户传递自定义安装后消息,从其他远程源存储库中提取其他数据文件)。 几年前,我遇到了这个SO答案,它回答了该主题,听起来好像当时的共识是您需要创建一个install子命令。如果仍然是这种情况,是否可以有人提供如何执行此操作的示例,以便用户不必输入第二条命令来运行脚本?

4
何时在setup.py中使用pip需求文件而不是install_requires?
我使用带有virtualenv的pip打包和安装了一些Python库。 我想我正在做的是一个很普通的场景。我是几个库的维护者,可以为它们明确指定依赖项。我的一些库依赖于第三方库,这些第三方库具有我无法控制的传递依赖项。 我想要实现的是pip install在我的一个库中下载/安装其所有上游依赖项。我在pip文档中苦苦挣扎的是,需求文件是否能够/如何独立执行,或者是否真的只是对using的补充install_requires。 我会install_requires在所有库中使用它来指定依赖项和版本范围,然后仅使用需求文件来解决冲突和/或冻结它们以进行生产构建吗? 让我们假装我生活在一个虚构的世界中(我知道,我知道),并且我的上游依存关系很简单,并且保证不会发生冲突或破坏向后兼容性。我会被迫完全使用pip要求文件,还是只是让pip / setuptools / distribute根据以下内容安装所有内容install_requires? 这里有很多类似的问题,但是我找不到最基本的问题,如何时使用一个或另一个或和谐地使用它们。

3
setuptools:包数据文件夹位置
我使用setuptools分发我的python包。现在,我需要分发其他数据文件。 从setuptools文档中收集的信息来看,我需要将数据文件保存在package目录中。但是,我宁愿将数据文件放在根目录的子目录中。 我要避免的是: / #root |- src/ | |- mypackage/ | | |- data/ | | | |- resource1 | | | |- [...] | | |- __init__.py | | |- [...] |- setup.py 我想拥有的是: / #root |- data/ | |- resource1 | |- [...] |- src/ | |- mypackage/ …

3
删除以开发模式安装的python模块
嗨,我正在尝试使用setuptools进行python打包,并测试我是否在开发模式下安装了该模块。即 python setup.py develop 这已将我的模块目录添加到sys.path。现在我要删除模块,有什么办法吗? 提前致谢

3
如何在virtualenv上安装旧版本的Django?
这听起来像是一个愚蠢的问题,因为的目的virtualenv恰恰是这样:在虚拟环境中安装某个特定版本的软件包(在本例中为Django)。但这正是我想要做的,我无法弄清楚。 我在Windows XP上,并且成功创建了虚拟环境,并且能够运行它,但是我应该如何在其中安装我想要的Django版本呢?我的意思是,我知道要使用新创建的easy_install脚本,但是如何安装Django 1.0.7?如果这样做easy_install django,它将安装最新版本。我尝试1.0.7以各种方式将版本号放入此命令,但是没有任何效果。 我该怎么做呢?

16
在系统范围内安装pip和virtualenv的官方“首选”方式是什么?
这是人们似乎最常推荐的: $ sudo apt-get install python-setuptools $ sudo easy_install pip $ sudo pip install virtualenv 或者这是我从http://www.pip-installer.org/en/latest/installing.html获得的: $ curl -O https://github.com/pypa/virtualenv/raw/master/virtualenv.py $ python virtualenv.py my_new_env $ . my_new_env/bin/activate (my_new_env)$ pip install ... 还是完全不同的东西?


8
Python setuptools:如何在install_requires下列出私有存储库?
我正在setup.py为依赖私有GitHub存储库的项目创建文件。文件的相关部分如下所示: from setuptools import setup setup(name='my_project', ..., install_requires=[ 'public_package', 'other_public_package', 'private_repo_1', 'private_repo_2', ], dependency_links=[ 'https://github.com/my_account/private_repo_1/master/tarball/', 'https://github.com/my_account/private_repo_2/master/tarball/', ], ..., ) 我使用setuptools而不是distutils因为后者不支持此答案的install_requires和dependency_links参数。 上述设置文件无法访问私有存储库,并显示404错误-这是可以预期的,因为GitHub将404返回给未经授权的私有存储库请求。但是,我不知道如何进行setuptools身份验证。 这是我尝试过的一些方法: 如果使用git+ssh://来安装仓库,请使用而不是https://in 。这会失败,因为setuptools无法识别此协议(“未知的url类型:git + ssh”),尽管分发文档说可以。同上和。dependency_linkspipgit+httpsgit+http https://<username>:<password>@github.com/...-仍然获得了404(此方法不工作,curl或者wget在命令行或者-尽管curl -u <username> <repo_url> -O <output_file_name>不工作。) 将setuptools(0.9.7)和virtualenv(1.10)升级到最新版本。也尝试安装分发,尽管此概述说它已合并回setuptools。无论哪种方式,都没有骰子。 目前,我只是setup.py打印出一条警告,指出必须单独下载私有存储库。这显然不理想。我觉得似乎有些明显的东西我不见了,但是无法想像是什么。:) 重复的问题,这里没有答案。

5
如何将静态文件包含到setuptools-python包
我想包含./static/data.txtto setuptools,这是我的代码: # setup.py import os,glob from setuptools import setup,find_packages setup( name = "PotatoProject", version = "0.1.1", author = "Master Splinter", author_email = "splinter@initech.com", description = ("The potatoproject!"), url = 'http://www.google.com', license = "BSD", # adding packages packages=find_packages('src'), package_dir = {'':'src'}, # trying to add files... include_package_data = True, package_data …

3
在OSX El Capitan上升级setuptools
我正在尝试升级setuptools。好吧,实际上我正在尝试升级ansible,但它正在尝试尝试升级setuptools并失败。我自己尝试这样做也失败了。即使尝试卸载它也会失败 $ sudo -H pip install --upgrade setuptools Collecting setuptools Using cached setuptools-18.4-py2.py3-none-any.whl Installing collected packages: setuptools Found existing installation: setuptools 1.1.6 Uninstalling setuptools-1.1.6: Exception: Traceback (most recent call last): File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/basecommand.py", line 211, in main status = self.run(options, args) File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/commands/install.py", line 311, in run root=options.root_path, File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/req/req_set.py", line …

2
最新的“ pip”失败,并显示“需要dist-info的setuptools> = 0.8”
使用的最新(1.5)版本pip,尝试更新多个软件包时出现错误。例如,sudo pip install -U pytz由于以下原因导致失败: Wheel installs require setuptools >= 0.8 for dist-info support. pip's wheel support requires setuptools >= 0.8 for dist-info support. 我不明白此消息(我有setuptools2.1)或如何处理。 日志中有关此错误的异常信息: Exception information: Traceback (most recent call last): File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 122, in main status = self.run(options, args) File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 230, in run finder …

1
Python软件包和egg-info目录
有人可以解释egg-info目录如何与各自的模块绑定吗?例如,我有以下内容: /usr/local/lib/python2.5/site-packages/quodlibet/ /usr/local/lib/python2.5/site-packages/quodlibet-2.0.egg-info/ 我假设egg-info目录用于使相应的模块对setuptools(easy_install)可见,对吗?如果是这样,setuptools如何将egg-info目录绑定到模块目录? 假设我处在正确的轨道上,并且为了示例起见...如果我想让我现有的安装包对setuptools可见,我可以将模块目录和egg-info目录符号链接到站点-包目录?我自己会尝试过,但是我不确定如何测试该软件包是否对setuptools可见。奖励积分,如果您还可以告诉我如何进行测试:) 我试图理解所有这些的主要原因是因为我想将一些模块符号链接到站点程序包中,以便我可以对它们进行更改,并使更改对使用它们的脚本可见,而不必重新安装每次更改后从PyPI获取鸡蛋。
80 python  setuptools  egg 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.