python - Ruby 的 bundler/Perl 的纸箱的 Python 等价物是什么?

标签 python ruby perl virtualenv pip

我知道 virtualenv 和 pip。但是这些和bundler/carton有 pip 不同。

例如:

  • pip 写入 shebang 或激活脚本的绝对路径
  • pip 没有 exec 子命令(bundle exec bar)
  • virtualenv 将 Python 解释器复制到本地目录

是否每个 Python 开发人员都使用 virtualenv/pip?还有其他适用于 Python 的包管理工具吗?

最佳答案

从我读到的关于 bundler 的内容来看——没有 virtualenv 的 pip 应该对你很好。您可以将其视为常规 gem 命令和捆绑程序之间的某种东西。你可以用 pip 做的常见事情:

  1. 安装包(gem install)

    pip install mypackage
    
  2. 依赖和批量安装(gemfile)

    可能最简单的方法是使用 pip 的 requirements.txt 文件。基本上,它只是一个包含可能版本限制的所需软件包的简单列表。它可能看起来像:

    nose==1.1.2
    django<1.3
    PIL
    

    稍后当您想要安装这些依赖项时,您会这样做:

    $ pip install -r requirements.txt
    

    以需求文件语法查看所有当前包的简单方法是:

    $ pip freeze
    

    您可以阅读更多信息 here .

  3. 执行( bundler 执行)

    所有带有可执行文件的python包通常在安装后直接可用(除非你有自定义设置或者它是一个特殊的包)。例如:

    $ pip install gunicorn
    $ gunicorn -h 
    
  4. 用于从缓存安装的包 gem( bundle )

    pip bundlepip zip/unzip。但我不确定是否有很多人使用它。

p.s.如果您确实关心环境隔离,您也可以将 virtualenv 与 pip 一起使用(它们是亲密的 friend 并且可以完美地协同工作)。默认情况下,pip 会在系统范围内安装可能需要管理员权限的软件包。

关于python - Ruby 的 bundler/Perl 的纸箱的 Python 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8726207/

相关文章:

python - OpenShift Python mongoDB 环境变量未设置/无法连接

python - Python 中的函数定义和调用

ruby-on-rails - Rails 从 View 中安排作业

ruby-on-rails - 如何在 Ruby on Rails 中的模型之间创建一对多关系?

python - 将 3 列数据框转换为矩阵

python - Keras - 查找嵌入

html - 不规则的 Bootstrap 列换行

perl - 我可以在 WWW::Mechanize 的 POST 中将空格编码为 %20 吗?

xml - 什么是最好的 Perl XML 解析器?

perl - 找不到输入文件时,如何最好地(惯用地)使 perl 脚本(使用 -n/-p 运行)失败?