几年来,我一直在Mac上愉快地开发应用程序(尤其是Django)。作为此过程的一部分,我一直希望提高工作流程的效率,并喜欢阅读有关其他开发经验的文章。现在轮到我回馈了。这是对my previous post的修订,包含了我的时间和经验。
贸易工具
装有XCode的Mac
一套不错的GNU工具(coreutils,findutils,diffutils ...)
SCM的一组可靠的git,mercurial,perforce,svn(如果需要)。
iTerm2-这真是太棒了。
ActivePython-免费版本→所有人都可以使用easy_install,pip,distribute,ipython,pylint。
Komodo-(是的,我为此付了钱)尝试过textmate,eclipse,pycharm,Komodo几乎拥有我需要的所有东西。
Dropbox(共享)/ Omnigraffle(模型)/ Omnifocus(计划)
结构
~/Users/<username>
/Dropbox/Projects/<project_name>
/Documents (Personal Documents relating to the project)
/Public (Public Documents shared with customer)
/Projects/<project_name>
/Documents ../Dropbox/Projects/<project_name>/Documents
/Public ../Dropbox/Projects/<project_name>/Public
/Development
<virtual_env>
起步
创建一个虚拟环境并激活它。
$ cd ~/Users/<username>/Projects/<project_name>/Development
$ virtualenv --no-site-packages --distribute <project>_django
$ cd <project>_django; . ./bin/activate
$ echo "alias <project>d="cd ~/Projects/<project_name>/Development/<project_django/www/; . ../bin/activate" > ~/.bash_profile
安装核心模块并启动django项目。
$ pip install django django-debug-toolbar dbgp
$ django-admin.py startproject www
$ pip freeze > www/requirements.txt
继续发展。
$ cd www
$ django-admin.py startapp core
评论
www
下的所有内容(忽略.pyc)都存储在SCM中。在www树中创建您的Komodo项目,并确保将
../lib/python2.7/site-packages/
树添加到项目中。在Komodo中,我创建了几个宏,这些宏对我有很大帮助
调试会话在pydb下运行
./manage.py runserver
,从而可以从Komodo内部进行良好的自省和强大的调试功能(如上所示)。在PyDev中也可以使用。如果有兴趣,我可以分享。它要求#2的可伸缩性。Pylint-在您的代码上运行pylint,并确保得分至少为8.75。
选项卡标题-从here无耻地滑动和调整
我将iTerm用于
./manage.py shell_plus
-这比内置于Komodo解释器的方式优越。想法?
请分享您的观点并指出需要改进的地方。我一直在寻找更好的做事方式...
最佳答案
正如丹尼尔指出的那样,这本身不是问题。所以没有答案-除了确定。