在Windows上的FAB文件中使用Activate_this.py激活python虚拟环境
我有一个Fabric任务,需要访问Django项目的设置 在Windows上,我无法将Fabric安装到项目的virtualenv中(Paramiko+pycrypto deps存在问题)。但是,我可以在我的系统范围的站点包中安装Fabric,没有问题 我已将Django安装到项目的virtualenv中,当我使用“virtualenv\Scripts\activate.bat”脚本激活virtualenv时,我能够轻松地使用所有“>python manage.py”命令 我的项目中有一个fabric任务文件(fabfile.py),它提供安装、测试、部署等任务。fabfile中的一些任务需要通过“from django.conf import settings”访问django项目的设置 因为我唯一可用的Fabric安装是在我的系统范围的站点包中,所以我需要在我的fabfile中激活virtualenv,这样django就可以使用了。为此,我使用项目virtualenv的“activate_this”模块访问项目设置等。在执行activate_this.py之前和之后使用“print sys.path”,我可以告诉python路径的更改指向项目的virtualenv。但是,我仍然无法导入django.conf.settings 我已经能够在*nix(Ubuntu和CentOS)和Cygwin上成功地完成这项工作。您是否在Windows上使用此设置/工作流?如果是这样的话,你能帮我弄清楚为什么这在Windows上不起作用,或者提供一些技巧来解决这个问题吗 谢谢,干杯在Windows上的FAB文件中使用Activate_this.py激活python虚拟环境,python,django,windows-xp,virtualenv,fabric,Python,Django,Windows Xp,Virtualenv,Fabric,我有一个Fabric任务,需要访问Django项目的设置 在Windows上,我无法将Fabric安装到项目的virtualenv中(Paramiko+pycrypto deps存在问题)。但是,我可以在我的系统范围的站点包中安装Fabric,没有问题 我已将Django安装到项目的virtualenv中,当我使用“virtualenv\Scripts\activate.bat”脚本激活virtualenv时,我能够轻松地使用所有“>python manage.py”命令 我的项目中有一个fab
参考:
- |使用Virtualenv而不使用 bin/python
- Python 2.5.4
- Virtualenv 1.4.6
- 织物0.9.0
- Pip 0.6.1
- Django 1.1.1
- Windows XP(SP3)
activate_this = '/path/to/env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
经过一些挖掘,我发现这是activate_this.py脚本的一个问题。在它的当前状态下,virtualenvYes这正是我在fabfile中所做的——到目前为止,它在Windows上对我不起作用。如果您能在Windows中进行快速测试并让我知道您的情况,我将不胜感激。
site_packages = os.path.join(base, 'lib', 'python%s' % sys.version[:3], 'site-packages')
if sys.platform == 'win32':
site_packages = os.path.join(base, 'Lib', 'site-packages')
else:
site_packages = os.path.join(base, 'lib', 'python%s' % sys.version[:3], 'site-packages')