当前位置:  开发笔记 > 编程语言 > 正文

通过os.system()激活virtualenv

如何解决《通过os.system()激活virtualenv》经验,为你挑选了1个好方法。

我正在编写一个基于Python的shell脚本来使用virtualenv,pip和fabric来构建一个Django应用程序.应该很简单,但似乎我无法通过shell脚本激活和运行virtualenv中的命令.

os.system('virtualenv %s --no-site-packages' % project_name)
os.system('source %s/bin/activate' % project_name)
os.system('easy_install pip')

运行时,出错:

$ startproject+ -s false sample
New python executable in sample/bin/python
Installing setuptools............done.
/testing
Searching for pip
Best match: pip 0.4
Processing pip-0.4-py2.6.egg
pip 0.4 is already the active version in easy-install.pth
Installing pip script to /usr/local/bin
error: /usr/local/bin/pip: Permission denied

显然这source条线路没有运行,但为什么呢?它是一个并发/线程问题,还是更深层次的virtualenv?

谢谢!



1> Matthew Schi..:

每次调用os.system都会在新的子shell中运行该命令,该子shell具有与原始python进程相同的属性.

尝试将命令放入由分号分隔的一个字符串中.

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有