我知道 virtualenv 和 pip。但是这些和bundler/carton有 pip 不同。
例如:
- pip 写入 shebang 或激活脚本的绝对路径
- pip 没有
exec
子命令(bundle exec bar
) - virtualenv 将 Python 解释器复制到本地目录
是否每个 Python 开发人员都使用 virtualenv/pip?还有其他适用于 Python 的包管理工具吗?
最佳答案
从我读到的关于 bundler 的内容来看——没有 virtualenv 的 pip 应该对你很好。您可以将其视为常规 gem 命令和捆绑程序之间的某种东西。你可以用 pip 做的常见事情:
安装包(gem install)
pip install mypackage
依赖和批量安装(gemfile)
可能最简单的方法是使用 pip 的 requirements.txt 文件。基本上,它只是一个包含可能版本限制的所需软件包的简单列表。它可能看起来像:
nose==1.1.2 django<1.3 PIL
稍后当您想要安装这些依赖项时,您会这样做:
$ pip install -r requirements.txt
以需求文件语法查看所有当前包的简单方法是:
$ pip freeze
您可以阅读更多信息 here .
执行( bundler 执行)
所有带有可执行文件的python包通常在安装后直接可用(除非你有自定义设置或者它是一个特殊的包)。例如:
$ pip install gunicorn $ gunicorn -h
用于从缓存安装的包 gem( bundle )
有
pip bundle
和pip zip/unzip
。但我不确定是否有很多人使用它。
p.s.如果您确实关心环境隔离,您也可以将 virtualenv 与 pip 一起使用(它们是亲密的 friend 并且可以完美地协同工作)。默认情况下,pip 会在系统范围内安装可能需要管理员权限的软件包。
关于python - Ruby 的 bundler/Perl 的纸箱的 Python 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8726207/