riy*_*ywo 92 ruby python perl pip virtualenv
我知道virtualenv和pip.但这些与bundler/carton有点不同.
例如:
exec子命令(bundle exec bar)每个Python开发人员都使用virtualenv/pip吗?是否有其他Python包管理工具?
Den*_*lin 69
从我所读到的关于bundler的内容 - 没有virtualenv的pip应该对你有用.您可以将它视为常规gem命令和bundler之间的内容.你可以用pip做的常见事情:
安装包(gem install)
pip install mypackage
Run Code Online (Sandbox Code Playgroud)依赖关系和批量安装(gemfile)
可能最简单的方法是使用pip的requirements.txt文件.基本上它只是一个包含可能版本限制的必需包的简单列表.它可能看起来像:
nose==1.1.2
django<1.3
PIL
Run Code Online (Sandbox Code Playgroud)
稍后当您想要安装这些依赖项时,您会这样做:
$ pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
在需求文件语法中查看所有当前包的简单方法是:
$ pip freeze
Run Code Online (Sandbox Code Playgroud)
你可以在这里阅读更多相关信息.
执行(捆绑执行)
所有带有可执行文件的python包通常在安装后直接可用(除非您有自定义安装或它是一个特殊的包).例如:
$ pip install gunicorn
$ gunicorn -h
Run Code Online (Sandbox Code Playgroud)从缓存(bundler包)安装包安装宝石
有pip bundle和pip zip/unzip.但我不确定是否有很多人使用它.
ps如果您关心环境隔离,您也可以将virtualenv与pip一起使用(他们是亲密的朋友并且完美地协同工作).默认情况下,pip会在系统范围内安装可能需要管理员权限的软件包.
non*_*ene 13
您可以使用pipenv,它具有与bundler类似的接口.
$ pip install pipenv
Run Code Online (Sandbox Code Playgroud)
Pipenv自动创建virtualenv并从Pipfile或安装依赖项Pipfile.lock.
$ pipenv --three # Create virtualenv with Python3
$ pipenv install # Install dependencies from Pipfile
$ pipenv install requests # Install `requests` and update Pipfile
$ pipenv lock # Generate `Pipfile.lock`
$ pipenv shell # Run shell with virtualenv activated
Run Code Online (Sandbox Code Playgroud)
您可以使用virtualenv范围运行命令bundle exec.
$ pipenv run python3 -c "print('hello!')"
Run Code Online (Sandbox Code Playgroud)