如何设置 PyCharm 在 Vagrant/VirtualBox 远程解释器配置中使用 virtualenv?

Posted

技术标签:

【中文标题】如何设置 PyCharm 在 Vagrant/VirtualBox 远程解释器配置中使用 virtualenv?【英文标题】:How to setup PyCharm to use virtualenv in Vagrant/VirtualBox remote interpreter configuration? 【发布时间】:2015-01-03 16:37:42 【问题描述】:

在 Windows 下运行的 PyCharm。

在 VirtualBox 下托管的 Ubuntu 14.04 LTS VM。

设置 PyCharm 以使用 Vagrant 启动所述 VM 并使用远程 Python 解释器按宣传工作。但是,这也恰好是 Ubuntu 使用的解释器和软件包。

如何修改此设置以在 VM 上使用一个或多个虚拟环境?这个想法是每个项目很可能有完全不同的需求,它们应该通过 virtualenv 相互隔离并与系统隔离。

这是否需要使用 Apache VirtualHost 来设置单独的项目?有任何关于 Python 和/或 Python/Django 项目的文档吗?

【问题讨论】:

【参考方案1】:

我发现接受的答案很有帮助,但与@miR 的评论一致...

要将 PyCharm 设置为使用虚拟环境,您可以编辑/设置 Python 解释器路径到 virtualenv 的二进制文件。 例如。我的 virtualenv(通过 ssh 在 Ubuntu Vagrant VM 中创建)是 /home/vagrant/virtualenvs/project/bin/python3,所以我只是将该路径复制到“项目解释器”中的“Python 解释器路径”字段中。

效果很好。我什至可以使用 PyCharm 接口将包安装到 Vagrant VM 上的 virtualenv 中。

【讨论】:

好提示!我正在使用在虚拟环境中运行的 Vagrant 中的 Django 应用程序来执行此操作,而我需要使用 PyCharm 的 Django 运行器的唯一其他步骤是取消选择“将内容根添加到 PYTHONPATH”和“将源根添加到 PYTHONPATH”,然后将“工作目录”中的删除工作目录路径。可能不是最好的组合,但它现在可以工作了。【参考方案2】:

我们正在使用 vagrant,并且我们有 100 多个具有不同虚拟环境的站点。我在 /vagrant/projects 文件夹中设置项目,该文件夹是主机和来宾之间的共享文件夹。通过这种方式,我们可以根据开发人员的偏好从 vagrant 客户机或主机中的 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 插件来自动编辑你的主机和来宾机器的主机文件。因此,您可以直接访问您的域,而无需一直手动编辑主机文件。

【讨论】:

除非我弄错了,这说明了要做什么,而不是怎么做?根据问题,我正在寻找有关如何让 PyC​​harm 在 Vagrant 中使用 virtualenv 的说明... 您可以与来宾共享虚拟主机文件夹,然后从那里开始?我的回答主要与文中最后提出的问题有关,可能与标题中的问题无关。

以上是关于如何设置 PyCharm 在 Vagrant/VirtualBox 远程解释器配置中使用 virtualenv?的主要内容,如果未能解决你的问题,请参考以下文章

pycharm如何设置输入参数

pycharm提示不全如何设置

如何给pycharm 设置环境变量

pycharm如何设置中文界面

如何设置pycharm

如何设置 PyCharm 在 Vagrant/VirtualBox 远程解释器配置中使用 virtualenv?