Tuesday, October 15, 2013

使用PyCharm搭配Vagrant开发Pyramid程序


PyCharm是JetBrains出品的一个功能强大的Python IDE,PyCharm Pro 3中对Vagrant和Pyramid都提供了良好的支持,可以通过他们之间的搭配构建出一个干干净净的开发环境。

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各种开发调试习惯不变。


No comments:

Post a Comment