Python 3.3在其标准库中包含了新包venv.它做了什么,它与所有其他似乎与正则表达式相匹配的包有什么不同(py)?(v|virtual|pip)?env?
我想安装pip.它应该支持Python 3,但它需要setuptools,它只适用于Python 2.
如何用Python 3安装pip?
pip,virtualenv和distribute?在我对问题4314376的回答中,我建议使用,ez_setup以便您可以安装pip并virtualenv如下:
curl -O http://peak.telecommunity.com/dist/ez_setup.py
sudo python ez_setup.py
sudo easy_install pip
sudo pip install virtualenv
Run Code Online (Sandbox Code Playgroud)
我最初是从Jesse Noller的博客文章中提取这些说明的,所以你想在Mac上使用Python?.我喜欢保持一个干净的全局site-packages目录的想法,所以我安装的唯一其他软件包就是 virtualenvwrapper和distribute.(distribute由于这个Python公共服务公告,我最近添加到了我的工具箱.为了安装这两个软件包,我使用了:
sudo pip install virtualenvwrapper
curl -O http://python-distribute.org/distribute_setup.py
sudo python distribute_setup.py
Run Code Online (Sandbox Code Playgroud)
要真正遵循Python公共服务公告,在全新的Python安装上,我会执行以下操作:
curl -O http://python-distribute.org/distribute_setup.py
sudo python distribute_setup.py
sudo easy_install pip
sudo pip install virtualenv
sudo pip install virtualenvwrapper
Run Code Online (Sandbox Code Playgroud)
在一个评论我的回答 …
我在使用Python 3安装软件包时遇到了麻烦.
我一直用setup.py install命令安装包.但是现在当我尝试安装ansicolors包时,我得到:
importerror"没有名为Setuptools的模块"
我不知道该怎么办,因为我从未有过Setuptools,而且我仍然安装了许多setup.py install没有setuptools的命令包,现在我应该得到setuptools.
我甚至无法安装setuptools,因为我有python 3.3和setuptools不支持python 3.
为什么我的安装命令不再起作用?
Python就可以用于打包和描述项目的工具,一个令人困惑的历史:这些包括distutils标准库中,distribute,distutils2,和setuptools(也许更多).看来,distribute和distutils2赞成被中止setuptools,这让两个相互竞争的标准.
据我所知,setuptools提供了更多的选项(例如声明依赖项,测试等)distutils,但它没有包含在Python标准库中(但是?).
所述的Python包装用户指南 [ 1 ]现在建议:
使用
setuptools定义的项目和创建源代码分发.
并解释说:
尽管您可以
distutils在许多项目中使用pure ,但它不支持在其他项目上定义依赖项,并且缺少一些便于实际自动填充包提供的包元数据的便利实用程序setuptools.作为标准库之外,setuptools还在不同版本的Python中提供更一致的功能集,并且(不同distutils)setuptools将更新以在所有支持的版本上生成即将推出的"Metadata 2.0"标准格式.即使是那些选择使用的项目
distutils,当pip直接从源代码安装这样的项目时(而不是从预先构建的wheel文件安装),它实际上会使用setuptools而不是使用它来构建项目.
但是,查看各种项目的setup.py文件会发现这似乎不是一个真正的标准.许多软件包仍在使用,distutils而那些支持setuptools经常混合setuptools使用,distutils例如通过执行后备导入:
try:
from setuptools import setup
except ImportError:
from distutils.core import setup
Run Code Online (Sandbox Code Playgroud)
接着尝试找到一种方法来编写可由两者setuptools和两者安装的设置distutils.这通常包括各种容易出错的依赖性检查方法,因为distutils它不支持setup函数中的依赖性.
为什么人们仍然需要额外的努力来支持distutils- 事实setuptools是标准库不是唯一的原因吗? …
执行python setup.py installPyPI包时是否有人遇到此警告?
install_requires定义包所需的内容.很多PyPI包都有这个选项.它怎么可能是一个"未知的分发选项"?
有很多关于如何做到这一点的信息,但由于"有一种方法可以给猫皮肤",所以涵盖一些过程的所有教程/手册似乎都做出了与其他不同的某些假设.教程,我仍然无法掌握它.
到目前为止,这是我认为我理解的.
CDBS或debhelper.Debhelper是初学者的推荐方式.DEBIAN命令.dh_make现在我的问题:
setup.py安装独立程序的脚本? 编辑:通过独立程序我的意思是一个程序供桌面用户使用(而不是我理解的模块,就像导入后其他软件使用的功能集合).在我的具体情况下,我实际上需要两个这样的"程序":主软件和一个单独的实用程序(实际上是第二个"程序",应该与另一个程序包在同一个程序包中).顺便说一句:这些是迄今为止我能找到的最好的信息来源.如果你有什么比这更好的,请分享!:)
我正在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/',
],
...,
)
Run Code Online (Sandbox Code Playgroud)
我使用的setuptools,而不是distutils因为后者不支持install_requires和dependency_links参数每这一答案.
上面的安装文件无法访问带有404错误的私有存储库 - 这是预期的,因为GitHub会将404返回到未经授权的私有存储库请求.但是,我无法弄清楚如何进行setuptools身份验证.
以下是我尝试过的一些事情:
使用git+ssh://,而不是https://在dependency_links为我想如果安装与回购pip.这失败是因为setuptools无法识别此协议("未知的url类型:git + ssh"),尽管分发文档说它应该.同上git+https和git+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打印出一个警告,必须单独下载私人回购.这显然不太理想.我觉得有一些显而易见的东西让我失踪,但却想不到它会是什么.:)
这里没有答案的重复问题.
我一直在通过"学习Python艰难之路"(第2版)这本书教自己.在练习46中,它告诉我阅读Pip,Distribute和其他一些软件包.
pip的文档很清楚.它允许我安装/卸载和升级包.阅读文档以进行分发,它基本上似乎做同样的事情:
轻松下载,构建,安装,升级和卸载Python包
点子和分发之间有什么区别,它们如何相互关联?
我现在正在学习Python,因为Django框架.我已经成为Perl程序员多年了,我已经习惯了Perl的工具.我真正想念的其中一件事是Perl的CPAN及其工具.Python中有什么相同的东西吗?我希望能够像CPAN一样简单地搜索,安装和维护Python模块.此外,还可以自动处理依赖关系的系统.我尝试通过从网站下载zip文件,解压缩它来安装Python模块,然后执行:
sudo python setup.py install
但它正在寻找另一个模块.现在,像我一样懒,我不喜欢追逐依赖等等,有一个简单的方法吗?
python ×10
setuptools ×5
distutils ×3
distribute ×2
package ×2
packaging ×2
pip ×2
virtualenv ×2
debhelper ×1
debian ×1
github ×1
module ×1
perl ×1
pyenv ×1
pypi ×1
python-3.3 ×1
python-3.x ×1
python-venv ×1
setup.py ×1