首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我需要虚拟人吗?

我需要虚拟人吗?
EN

Stack Overflow用户
提问于 2012-02-23 10:02:57
回答 3查看 4.4K关注 0票数 4

为每个项目和每个阶段(开发,推动,.)我使用不同的linux用户。我可以使用pip和--user选项在$HOME中安装软件包。

我的孤立环境来自不同的linux用户。

我能从virtualenv那里得到什么好处?到目前为止,我认为没有理由使用虚拟化。但也许我遗漏了什么。

Linux用户名的构建方式如下: project_name_S和S是阶段(dev、qual、prod、testing)。每个阶段可以在不同的主机上。

更新:

在提出这个问题三年多后:我现在使用的是虚拟环境。用户环境是一辆马车。也许现在它得到了更好的支持。但是没有什么可以阻止您在$HOME中创建一个虚拟环境:-)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-23 10:16:57

创建一个虚拟用户比创建一个新用户更快、更容易。我不打算换到现有的项目,而是考虑新的项目。

票数 3
EN

Stack Overflow用户

发布于 2012-02-23 10:25:38

Virtualenv非常适合管理依赖关系。配置文件(或设置文件)对于管理环境之间的变量差异非常好。(例如db位置e.tc)

蟒蛇搭便车指南非常好,值得一读20分钟。http://docs.python-guide.org/en/latest/index.html

请参阅本节关于虚拟env的内容。

http://docs.python-guide.org/en/latest/dev/virtualenvs/

如果您只想使用不同的home或env模式变量,可以在运行python代码之前设置它。

代码语言:javascript
复制
 PROD_MODE=PROD python example.py

然后,example.py将像这样查找PROD_MODE变量。

代码语言:javascript
复制
import os
print os.environ['PROD_MODE']

所以你需要一个虚拟的人吗?

我强烈建议这样做。这样,Django就可以工作了,并且已经导入了一些其他库(我也强烈建议使用pip),并且您的机器上的一切都在正常工作。您的路径已经设置,您的代码可以使用path和PYTHON_PATH解析成代码。非常出色!

现在,您将部署到另一台计算机(可能是aws、linux服务器或类似的计算机)上,或者是其他开发人员希望帮助您的项目编写代码。他们如何确保在那里的机器上的env设置与您的机器相同,以及如何确保您使用与您测试过的所有漂亮的新代码相同的env进行部署?一个虚拟者为你做这件事!您只需在新机器上移植或重新创建虚拟env,任何一切都可以像测试/构建的那样工作。

简而言之,虚拟env可以帮助您确保在发布/部署代码时不会头痛地记住所有的导入、安装和路径设置。

票数 4
EN

Stack Overflow用户

发布于 2012-02-23 10:25:00

在虚拟环境中,有些东西是用户或家庭计划没有得到的:

  1. 能够使用不同版本的包-例如,django稳定版和django dev用于不同的站点,而不会污染系统范围的Python安装(或用户的python安装)。
  2. 能够冻结软件包要求,并容易复制运行环境。您可以使用备用安装方案来实现这一点,但是您将非常局限于您可以做的事情(就要安装的包而言),您必须手动跟踪您的需求文件。

总的来说,我建议您重新访问virtualenv以进行下一个项目。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9410800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档