1. 软件安装
安装Virtual Box https://www.virtualbox.org/
安装Vagrant http://www.vagrantup.com/
确保PyCharm中的Vagrant插件已经激活。
2. 安装一个virtual box
在PyCharm Setting中,找到Vagrant项,点击左下角的+按钮,增加一个box。
下载完成后,Vagrant Boxes列表中即多一个box项。
3. 创建Vagrantfile
创建、打开Pyramid项目,在PyCharm中选择tools菜单 -> Vagrant -> Init in Project Root,即可在当前项目根目录创建一个Vagrantfile,打开该文件,加入:
config.vm.network :forwarded_port, guest: 6543, host: 6543
因Pyramid一般使用6543这个端口,如果项目端口选择不一样,可以自行配置。
如果配置了多个box,在init的时候,会弹出box选择项。
4. 配置虚拟机
运行Vagrant up启动虚拟机,登录到该虚拟机。
运行sudo apt-get install python-virtualenv 安装虚拟环境程序
运行virtualenv env创建一个虚拟环境
运行source env/bin/activate启动该虚拟环境
运行pip install pyramid==1.4.3 安装pyramid
根据项目不同,本步骤安装程序也可以不一样,这里只是演示一下在虚拟机里面也可以使用python虚拟环境。一般团队开发可以定制自己的专有box以便整个团队开发环境的一致。
5. 配置remote interpreter
在Settings中,找到Project Interpreter项
点击Configure Interpreters
选择Remote…
选择Fill from vagrant config
因上面使用了python虚拟环境,因此,上面的Python interpreter path需要变更为:
/home/vagrant/env/bin/python
到现在为止,就可以运行普通的python程序进行项目开发了。不过因为要配置Pyramid,还需要变更一个配置。
6. Pyramid运行配置变更
运行tools菜单中的Run setup.py Task,选择develop,将在虚拟机中运行python setup.py develop
打开项目的Run/Debug Configurations,变更Config file为如下类似内容
/home/vagrant/env/bin/pserve /Users/XXXX/Documents/PycharmProjects/test1/development.ini
(即在development文件前加上pserve,远程interpreter默认启动的是python,而不会像本地开发一样启动pserve)
7. 运行程序
现在在Pycharm中运行/调试程序,就可以看到其实程序是在虚拟机中运行,而非本机。
并且仍然可以在本机浏览器使用http://0.0.0.0:6543查看运行结果。
将PyCharm跟Vagrant结合之后,就可以将所有项目需要的各种包、软件都丢到虚拟机中,甚至可以每个项目配置一个box。于此同时,仍然可以保持PyCharm各种开发调试习惯不变。