相关疑难解决方法(0)

venv,pyvenv,pyenv,virtualenv,virtualenvwrapper,pipenv等有什么区别?

Python 3.3在其标准库中包含了新包venv.它做了什么,它与所有其他似乎与正则表达式相匹配的包有什么不同(py)?(v|virtual|pip)?env

python virtualenv virtualenvwrapper python-venv pyenv

800
推荐指数
6
解决办法
16万
查看次数

如何用Python 3安装pip?

我想安装pip.它应该支持Python 3,但它需要setuptools,它只适用于Python 2.

如何用Python 3安装pip?

python pip setuptools package python-3.x

510
推荐指数
12
解决办法
122万
查看次数

为Python安装pip,virtualenv和分发的正确方法是什么?

简短的问题

背景

问题4314376的回答中,我建议使用,ez_setup以便您可以安装pipvirtualenv如下:

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目录的想法,所以我安装的唯一其他软件包就是 virtualenvwrapperdistribute.(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)

没有更多的setuptools和easy_install

要真正遵循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)

雕文的Rebuke

在一个评论我的回答 …

python setuptools virtualenv distribute

245
推荐指数
7
解决办法
15万
查看次数

Python 3:ImportError"没有名为Setuptools的模块"

我在使用Python 3安装软件包时遇到了麻烦.

我一直用setup.py install命令安装包.但是现在当我尝试安装ansicolors包时,我得到:

importerror"没有名为Setuptools的模块"

我不知道该怎么办,因为我从未有过Setuptools,而且我仍然安装了许多setup.py install没有setuptools的命令包,现在我应该得到setuptools.

我甚至无法安装setuptools,因为我有python 3.3和setuptools不支持python 3.

为什么我的安装命令不再起作用?

python module package setup.py python-3.3

233
推荐指数
12
解决办法
43万
查看次数

setuptools vs. distutils:为什么distutils仍然是一个东西?

Python就可以用于打包和描述项目的工具,一个令人困惑的历史:这些包括distutils标准库中,distribute,distutils2,和setuptools(也许更多).看来,distributedistutils2赞成被中止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 packaging distutils setuptools

129
推荐指数
4
解决办法
3万
查看次数

pypi UserWarning:未知的分发选项:'install_requires'

执行python setup.py installPyPI包时是否有人遇到此警告?

install_requires定义包所需的内容.很多PyPI包都有这个选项.它怎么可能是一个"未知的分发选项"?

python distutils pypi

97
推荐指数
7
解决办法
10万
查看次数

为分发Python程序创建debian包的标准方法?

有很多关于如何做到这一点的信息,但由于"有一种方法可以给猫皮肤",所以涵盖一些过程的所有教程/手册似乎都做出了与其他不同的某些假设.教程,我仍然无法掌握它.

到目前为止,这是我认为我理解的.

  1. 我的最终目标应该是创建一个"二进制".deb包.这样的包将是平台独立的(32/64位),因为所有的python程序都是这样的.
  2. 要创建"二进制"包,我首先需要创建一个源包.
  3. 要创建源包,我可以使用CDBSdebhelper.Debhelper是初学者的推荐方式.
  4. 创建源包的核心是在源目录中填充DEBIAN目录,其中包含许多文件,说明文件需要复制的位置,它们受到的版权和许可方案,它们具有哪些依赖关系等等......
  5. 如果 python源还附带了distutils 脚本,那么步骤#4可以在很大程度上自动化DEBIAN命令.dh_make

现在我的问题:

  1. 我对这个过程的理解是否正确?我有什么遗失,或者我错了什么?
  2. 第五步真的让我感到困惑:特别是对我来说最难以理解的两点是:
    • 如何编写setup.py安装独立程序的脚本? 编辑:通过独立程序我的意思是一个程序供桌面用户使用(而不是我理解的模块,就像导入后其他软件使用的功能集合).在我的具体情况下,我实际上需要两个这样的"程序":主软件和一个单独的实用程序(实际上是第二个"程序",应该与另一个程序包在同一个程序包中).
    • DEB包的这种脚本有什么特点?官方文档似乎只涉及RPM和Windows的东西......

顺便说一句:这些是迄今为止我能找到的最好的信息来源.如果你有什么比这更好的,请分享!:)

python debian packaging distutils debhelper

71
推荐指数
4
解决办法
3万
查看次数

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/',
    ],
    ...,
)
Run Code Online (Sandbox Code Playgroud)

我使用的setuptools,而不是distutils因为后者不支持install_requiresdependency_links参数每这一答案.

上面的安装文件无法访问带有404错误的私有存储库 - 这是预期的,因为GitHub会将404返回到未经授权的私有存储库请求.但是,我无法弄清楚如何进行setuptools身份验证.

以下是我尝试过的一些事情:

  1. 使用git+ssh://,而不是https://dependency_links为我想如果安装与回购pip.这失败是因为setuptools无法识别此协议("未知的url类型:git + ssh"),尽管分发文档说它应该.同上git+httpsgit+http.

  2. https://<username>:<password>@github.com/...- 仍然得到404.(此方法不能与命令行一起使用curlwget从命令行使用 - 尽管curl -u <username> <repo_url> -O <output_file_name>确实有效.)

  3. 将setuptools(0.9.7)和virtualenv(1.10)升级到最新版本.也尝试安装分发虽然这个概述说它被合并回setuptools.无论哪种方式,没有骰子.

目前我只是setup.py打印出一个警告,必须单独下载私人回购.这显然不太理想.我觉得有一些显而易见的东西让我失踪,但却想不到它会是什么.:)

这里没有答案的重复问题.

python github setuptools

65
推荐指数
4
解决办法
2万
查看次数

setuptools,distribution和pip如何相互关联?

我一直在通过"学习Python艰难之路"(第2版)这本书教自己.在练习46中,它告诉我阅读Pip,Distribute和其他一些软件包.

pip的文档很清楚.它允许我安装/卸载和升级包.阅读文档以进行分发,它基本上似乎做同样的事情:

轻松下载,构建,安装,升级和卸载Python包

点子和分发之间有什么区别,它们如何相互关联?

python pip setuptools distribute

46
推荐指数
1
解决办法
7262
查看次数

对于Python程序员来说,有没有与Perl的CPAN相同的东西?

我现在正在学习Python,因为Django框架.我已经成为Perl程序员多年了,我已经习惯了Perl的工具.我真正想念的其中一件事是Perl的CPAN及其工具.Python中有什么相同的东西吗?我希望能够像CPAN一样简单地搜索,安装和维护Python模块.此外,还可以自动处理依赖关系的系统.我尝试通过从网站下载zip文件,解压缩它来安装Python模块,然后执行:

sudo python setup.py install

但它正在寻找另一个模块.现在,像我一样懒,我不喜欢追逐依赖等等,有一个简单的方法吗?

python perl

34
推荐指数
2
解决办法
1万
查看次数