几年来,我一直在 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 中,我创建了几个真正帮助我的宏
- 调试 session 在 pydb 下运行
./manage.py runserver,这允许在 Komodo 中进行良好的自省(introspection)和出色的调试功能(如上所示)。这在 PyDev 中也可用。如果有兴趣,我可以分享这个。它需要 #2 的可扩展性。 - Pylint - 在您的代码上运行 pylint 并确保至少 8.75 分。
- 标签标题 - 从 here 中无耻地滑动和调整
- 调试 session 在 pydb 下运行
- 我将 iTerm 用于
./manage.py shell_plus- 这比 Komodo 内置的解释器要好得多。
想法??
请分享您的观点并指出需要改进的地方。我一直在寻找更好的做事方式...
请您参考如下方法:
正如 Daniel 所指出的,这本身并不是一个问题。所以没有答案 - 除了肯定..
