Django 如何使用IIS和Helicon Zoo在生产Windows服务器上安装virtualenv?

Django 如何使用IIS和Helicon Zoo在生产Windows服务器上安装virtualenv?,django,iis-7,virtualenv,helicontech,Django,Iis 7,Virtualenv,Helicontech,我们目前正在使用Windows2008WebServer和IIS7在实时服务器上测试Django。要在IIS上运行Django项目,我们使用Helicon Zoo(带有Django的Python托管包)。 我们的计划是在该Web服务器上托管多个客户机,我们希望使用virtualenv,因此我们可以为特定客户机升级python包,而不会影响其他客户机 具体问题是,;当服务器上有多个VirtualNV时,如何在IIS下设置不同的Django站点以使用特定的VirtualNV 提前感谢您的时间和回答

我们目前正在使用Windows2008WebServer和IIS7在实时服务器上测试Django。要在IIS上运行Django项目,我们使用Helicon Zoo(带有Django的Python托管包)。
我们的计划是在该Web服务器上托管多个客户机,我们希望使用virtualenv,因此我们可以为特定客户机升级python包,而不会影响其他客户机

具体问题是,;当服务器上有多个VirtualNV时,如何在IIS下设置不同的Django站点以使用特定的VirtualNV

提前感谢您的时间和回答


Erik

我不太清楚应用程序中使用的是不同版本的Python还是不同版本的模块

要获得不同的python版本,可以手动安装另一个python,然后转到applicationHost.config文件,找到。引擎声明将列在那里。创建“python.2.7.wsgi”的副本并编辑该副本,将其命名为“python.2.5.wsgi”,然后更改可执行文件的名称路径。这就是如何声明更多具有不同版本和设置的引擎。您可以在此处找到更多信息:


至于Python模块,假设模块安装在客户端网站的\Python\u modules\目录中。当您使用Helicon Zoo创建新的Django应用程序时,默认情况下,它被配置为使用隔离环境,您只需要了解如何正确使用它,并告诉您的客户遵循指导原则。您可以在本文中找到相关信息:

谢谢,雅罗斯拉夫,这很有效。每个站点需要不同的库。不过还有一句话;这不是开箱即用的。Django似乎使用PIP来安装requirements.txt中列出的模块。默认情况下,IIS使用的ApplicationPoolIdentity没有执行PIP的权限。我们必须授予它在C:\Python27文件夹上的权限才能修复此问题。要分配ApplicationPoolIdentity帐户的权限,请参阅。请进一步解释?网站下的\python\u modules\文件夹(即c:\intepub\website\python\u modules\下)可能没有足够的写入权限,但我们不认为在c:\Python27下安装任何模块。。。请再次检查Django文章,注意不要全局安装模块,deploy.py脚本示例已经包含适当的命令。它应该是现成的。如果没有,那么我们必须修复它。对不起,我们不再有这种情况下的日志文件。部署日志中有两个关于运行PIP的权限不足的错误。一个是在Python27目录下的某个地方(但我无法告诉您具体是哪个文件夹),另一个错误我仍然可以找到:“WindowsError:[错误5]访问被拒绝:'C:\\Windows\\system32\\config\\systemprofile\\AppData\\Roaming\\pip'”。第二个错误似乎对运行站点没有影响。PIP是否在全球范围内安装?因为如果是的话,我可以想象匿名互联网用户没有足够的权限运行它。谢谢你的反馈!NTFS权限不足的情况通常发生在安装主机控制面板(如Plesk)或其他覆盖安全设置的产品之后。至于'C:\\Windows\\system32\\config\\systemprofile\\AppData\\Roaming\\pip'文件夹,我同意客户端脚本不应访问此文件夹。我们已将deploy.py文件示例更新为在不访问此文件夹的情况下运行,请注意此处的“update APPDATA env for pip”注释: