在Windows下运行PyCharm。
在VirtualBox下托管的Ubuntu 14.04 LTS VM。
设置PyCharm以使用Vagrant启动所述VM并使用远程Python解释器按宣传方式工作。但是,这也恰好是Ubuntu使用的解释器和包。
如何修改此设置以在VM上使用一个或多个virtualenv?我们的想法是每个项目都可以有完全不同的要求,并且应该通过virtualenv将它们彼此隔离开来。
这是否需要使用Apache VirtualHost来设置单独的项目?有关Python和/或Python / Django项目的任何文档吗?
答案 0 :(得分:4)
我发现接受的答案很有帮助,但符合@ miR的评论......
要将PyCharm设置为使用虚拟环境,您可以编辑/设置virtualenv二进制文件的Python解释器路径。
例如。我的virtualenv(通过ssh在Ubuntu Vagrant VM中创建)是/home/vagrant/virtualenvs/project/bin/python3
所以我只是将那条路径复制到" Python解释器路径" "项目口译员"。
这很好用。我甚至可以使用PyCharm接口将软件包安装到Vagrant VM上的virtualenv中。
答案 1 :(得分:-1)
我们正在使用vagrant,我们有超过100个具有不同虚拟环境的站点。我在/ vagrant / projects文件夹中设置项目,该文件夹是主机和来宾之间的共享文件夹。通过这种方式,我们可以根据开发人员的偏好从流浪客户机或主机内的ide处理项目。
每个项目都有自己的apache virtualhost conf,虚拟环境位于/ usr / local / virtualenvs /中。例如:
/ vagrant / projects / site1与虚拟环境/ usr / local / virtualenvs / site1等等。
一个站点的apache conf看起来像这样:
<VirtualHost *:80>
ServerAdmin your@email.com
ServerName site1
ErrorLog /var/log/apache2/error_site1.log
CustomLog /var/log/apache2/access_site1.log common
WSGIDaemonProcess site1 user=www-data group=www-data umask=0002 threads=3 python-path=/vagrant/projects/site1/web/site1:/usr/local/virtualenvs/site1/lib/python2.7/site-packages/
WSGIProcessGroup site1
WSGIScriptAlias / /vagrant/projects/site1/web/server.wsgi
<Directory />
Options Indexes FollowSymLinks none ExecCGI
AllowOverride None
Order allow,deny
Allow from all
ServerSignature Off
</Directory>
</VirtualHost>
您还可以使用vagrant-hostmanager插件自动编辑主机和来宾计算机的hosts文件。因此,您可以直接访问您的域,而无需一直手动编辑主机文件。