有没有办法在没有.exe安装程序的情况下在Windows中安装python 2.6的setuptools?
目前还没有一个内置,而setuptools的维护者已经声明可能还需要一段时间才能实现它.
有没有人知道安装它的方法?
我正在使用带有virtualenv的pip来打包和安装一些Python库.
我想我正在做的是一个很常见的场景.我是几个库的维护者,我可以明确地指定依赖项.我的一些库依赖于第三方库,这些库具有我无法控制的传递依赖性.
我想要实现的是让pip install我的一个库下载/安装它的所有上游依赖项.我在pip文档中遇到的问题是,需求文件是否/如何自行完成,或者它们实际上只是对使用的补充install_requires.
我是否会install_requires在所有库中使用指定依赖项和版本范围,然后仅使用需求文件来解决冲突和/或冻结它们以进行生产构建?
让我们假装我生活在一个想象的世界(我知道,我知道),我的上游依赖是直截了当的,并保证永远不会冲突或破坏向后兼容性.我是否会被迫使用pip要求文件或者只是让pip/setuptools/distribute安装所有内容install_requires?
这里有很多类似的问题,但我找不到任何与使用其中一个或者和谐地使用它们一样基本的问题.
嗨我正在尝试使用setuptools进行python打包并测试我是否在开发模式下安装了模块.即
python setup.py develop
Run Code Online (Sandbox Code Playgroud)
这已将我的modules目录添加到sys.path.现在我想删除模块有没有办法做到这一点?
提前致谢
是否可以将安装后的Python脚本文件指定为setuptools setup.py文件的一部分,以便用户可以运行该命令:
python setup.py install
Run Code Online (Sandbox Code Playgroud)
在本地项目文件存档,或
pip install <name>
Run Code Online (Sandbox Code Playgroud)
对于PyPI项目,脚本将在标准setuptools安装完成后运行?我希望执行可以在单个Python脚本文件中编码的安装后任务(例如,向用户提供自定义安装后消息,从其他远程源存储库中提取其他数据文件).
几年前我遇到了这个回答这个主题的答案,听起来好像当时的共识是你需要创建一个install子命令.如果仍然如此,那么有人可以提供一个如何执行此操作的示例,以便用户无需输入第二个命令来运行脚本吗?
我使用setuptools来分发我的python包.现在我需要分发额外的数据文件.
从我从setuptools文档中收集到的内容,我需要将我的数据文件放在包目录中.但是,我宁愿将我的数据文件放在根目录的子目录中.
我想避免的:
/ #root
|- src/
| |- mypackage/
| | |- data/
| | | |- resource1
| | | |- [...]
| | |- __init__.py
| | |- [...]
|- setup.py
Run Code Online (Sandbox Code Playgroud)
我想要的是:
/ #root
|- data/
| |- resource1
| |- [...]
|- src/
| |- mypackage/
| | |- __init__.py
| | |- [...]
|- setup.py
Run Code Online (Sandbox Code Playgroud)
如果它不是必需的话,我对拥有这么多子目录感到不舒服.我找不到原因,为什么我/ /将文件放在包目录中.使用如此多的嵌套子目录恕我直言也很麻烦.或者有任何理由可以证明这种限制吗?
使用最近的(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.
Run Code Online (Sandbox Code Playgroud)
我不明白这个消息(我有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 = self._build_package_finder(options, index_urls, session)
File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 185, in _build_package_finder
session=session,
File "/Library/Python/2.7/site-packages/pip/index.py", line 50, in __init__
self.use_wheel = use_wheel
File "/Library/Python/2.7/site-packages/pip/index.py", …Run Code Online (Sandbox Code Playgroud) 这可能听起来像一个愚蠢的问题,因为其目的virtualenv正是为了这个:在虚拟环境中安装一个特定版本的软件包(在本例中为Django).但这正是我想做的事情,我无法弄明白.
我在Windows XP上,并且我成功创建了虚拟环境,并且我能够运行它,但是我应该如何安装我想要的Django版本呢?我的意思是,我知道使用新创建的easy_install脚本,但是如何安装Django 1.0.7呢?如果我这样做easy_install django,它将安装最新版本.我尝试1.0.7以各种方式将版本号放入此命令,但没有任何效果.
我该怎么做呢?
我正在尝试升级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 640, in install
requirement.uninstall(auto_confirm=True)
File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/req/req_install.py", line 716, in uninstall
paths_to_remove.remove(auto_confirm)
File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/req/req_uninstall.py", line 125, in remove
renames(path, new_path)
File "/Library/Python/2.7/site-packages/pip-7.1.2-py2.7.egg/pip/utils/__init__.py", line 315, in renames
shutil.move(old, new)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line …Run Code Online (Sandbox Code Playgroud) 有人可以解释egg-info目录如何与各自的模块绑定?例如,我有以下内容:
/usr/local/lib/python2.5/site-packages/quodlibet/
/usr/local/lib/python2.5/site-packages/quodlibet-2.0.egg-info/
Run Code Online (Sandbox Code Playgroud)
我假设egg-info目录是使相应的模块对setuptools(easy_install)可见,对吧?如果是这样,setuptools如何将egg-info目录绑定到模块目录?
假设我在正确的轨道上,例如着想......如果我想让矿setuptools的可见现有的包,我可能只是符号链接模块目录和卵子信息目录的位点包目录?我本来只是尝试这样做我自己,但我不知道如何测试,如果包是setuptools的可见.如果你还可以告诉我如何测试这个奖励积分:)
我想了解这一切的主要原因是因为我想符号链接我的一些模块到站点包,这样我可以对其进行更改,并有改变使用它们,而无需重新安装脚本可见每次更换后,来自PyPI的鸡蛋.
自从Homebrew Python 2.7.11(从2.7.10)更新后,我突然无法在PyCharm IDE控制台上测试在PyPi上注册我的包.
运行(作为"外部工具")
python -B setup.py register -r pypitest
Run Code Online (Sandbox Code Playgroud)
我现在明白了
Traceback (most recent call last):
File "setup.py", line 22, in <module>
from setuptools import setup
File "/usr/local/lib/python2.7/site-packages/setuptools/__init__.py", line 12, in <module>
from setuptools.extension import Extension
File "/usr/local/lib/python2.7/site-packages/setuptools/extension.py", line 8, in <module>
from .dist import _get_unpatched
File "/usr/local/lib/python2.7/site-packages/setuptools/dist.py", line 16, in <module>
from setuptools.depends import Require
File "/usr/local/lib/python2.7/site-packages/setuptools/depends.py", line 6, in <module>
from setuptools import compat
File "/usr/local/lib/python2.7/site-packages/setuptools/compat.py", line 17, in <module>
import httplib
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 80, in …Run Code Online (Sandbox Code Playgroud) setuptools ×10
python ×9
pip ×2
python-2.7 ×2
setup.py ×2
distribute ×1
django ×1
egg ×1
macos ×1
pycharm ×1
pypi ×1
python-wheel ×1
virtualenv ×1
windows ×1