文档章节

mac 安装python和Django开发环境

xxjbs001
 xxjbs001
发布于 2015/04/28 13:46
字数 2490
阅读 21
收藏 0
点赞 0
评论 0

文章转自:http://article.yeeyan.org/view/252423/228631,谢谢原作者,记录一下,防止丢失。

在Mac OS X Lion 上搭建Python和Django开发环境

  

第一次安装Lion系统后,我想知道我之前常用的那些工具在新操作系统下的表现如何。在对启动过程做了些细微的修改后,我得到了一个相当给力的Python/Django开发环境,现在马上就让它运行起来吧!

  

第一步:

  

Lion系统默认去掉了“Sites”文件夹,但很容易加回去 - 自定义图标甚至会自动弹出来。使用Find查找工具,或者在命令行终端输入如下命令:

     

另一个不同之处是隐藏的~/Library文件夹。我们可以通过如下的命令使它再次可见(当系统升级后修改会被覆盖,因此必须再次执行命令):

  

chflags nohidden ~/Library/

  

由于Lion是全64位系统,我们得让编译器知道所有的编译工作都需要指定为64位,这会让我们之后省点头痛的麻烦。打开 ~/.bash_profile

vim ~/.bash_profile

添加如下代码:

# Set architecture flags

export ARCHFLAGS="-arch x86_64"

  

Xcode

Installing development-related software usually requires the compiler tool-chain that comes with Xcode. There is at least one alternative GCC installer, but I ran into problems with it and recommend sticking with Xcode.

  

安装开发相关的软件通常需要涉及到XCode自带的编译工具链。这里至少有一种可替代的工具——GCC installer, 但我在使用时遇到了些麻烦因此我推荐坚持使用XCode。

First, download Xcode from the Mac App Store. Make sure you're on a high-bandwidth connection, because this is a massive download. Once it's been downloaded, you should have a 3.2GB app entitled "Install Xcode" in your Applications folder. I recommend backing up this installer in case you ever want to re-install it or install Xcode on any of your other Macs. Once the straightforward Xcode installation process has finished, proceed to the next section.

  

首先,从苹果App商店下载XCode。保证你的带宽足够大,因为下载这个大玩意可不是件轻松的事情。当下载完成后,你的Application文件夹中应该有一个名为“Install Xcode”的3.2G大小的安装程序。我建议你备份一下这个安装程序,以便你之后想重新安装或者在你其他的Mac上安装XCode。当XCode一键式的安装过程结束后,前进到下一节。


  

Homebrew

Sometimes you may need cross-platform software — usually without a GUI and accessible only via the command line — that isn't readily available via the Mac App Store. As someone who used MacPorts for years, I can't begin to explain the relative awesomeness that is Homebrew. It's an indispensable tool that should be in every Mac developer's arsenal, so let's install it:

  

有些时候你需要跨平台的软件——通常都是不带图形界面只能通过命令行方式访问的——这在苹果app商店中可不是随处可见的哦。作为MacPorts的多年用户,我到现在都无法表达出对Homebrew的赞美之情。这是每一个Mac开发者不可或缺的神器啊,让我们装上它:

ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"

That's it — Homebrew is now installed. While it should have the latest version of Homebrew and its formulae, let's run the update command just in case:

就是这样 —— 现在Homebrew已经安装好了。按照惯例,Homebrew应该是最新版本,以防万一,让我们运行一下升级命令

brew update

If the "brew update" command produces an error, make sure /usr/local is owned by you and not by root:

如果“brew update”命令执行出错,请确保文件夹/usr/local的所有者权限是你本人而不是root:

sudo chown $USER /usr/localbrew update

The Homebrew wiki has a full command list and a bunch of other useful information, but here's a quick command to install some packages that I often find useful across all my Macs:

  

Homebrew的wiki上有全部的命令列表还有一些其他的有用的信息,这里有个快捷的命令用来安装一些我觉得十分有用而且能够在我所有的Mac系统上运行的工具包:

brew install bash-completion byobu growlnotify ssh-copy-id wget

Python模块安装包

Let's say you want to install a Python package, such as the fantastic virtualenv environment isolation tool. Nearly every Python-related article for Mac OS X tells the reader to install it thusly:

你打算安装一个Python包,比如经典的virtualenv环境隔离工具。在Mac系统上几乎每一篇与Python相关的文章都告诉读者要这样安装:

sudo easy_install virtualenv

Here's why I don't do it that way:

我不这么做的原因是:

installs with root permissions

1. 安装需要root权限

installs into the global /Library instead of the user's

2. 这会安装到全局的/Library文件夹中,而不是用户文件夹

"Distribute" has less bugs than the default legacy easy_install

3. “Distribute”安装系统比默认的easy_install的bug要少

If I install a Python package and decide I want to delete it, I like having the option to use the Finder to drag it to the Trash without any permission-related complaints. Plus, keeping the Python packages isolated to the user account just makes more sense to me. Last but not least, Distribute is a fork of Setuptools/easy_install that aims to be more reliable with less bugs.

如果我安装了一个Python包之后又决定删除它时,我喜欢用Finder将它拖到回收站,没有任何权限相关的警告跳出来烦我。而且,对我而言保持Python包和用户账户隔离显得更有意义一些。最后,“Distribute”是一系列的安装工具,其目标就是更加稳定,更少的bug。

Traditionally, I've always used the "--user" flag to install Python packages into ~/.local, a behavior that was consistent across Macs, Linux, and other UNIX systems. It seems Lion has changed this behavior, however, installing into ~/Library/Python/2.7 when it encounters the --user flag. Since I prefer to have this location remain consistent across the various systems I encounter, I changed the flag from "--user" to the more specific "--prefix=~/.local". Whichever you choose, please keep in mind that the instructions here assume the latter.

  

一般来说,我总是使用“--user”选项来把Python包安装到~/.local目录中。这种行为在Mac,Linux和其他Unix系统上是一致的。看起来Lion系统似乎改变了这种行为,当Lion遇到“--user”选项时,Python包将安装到~/Library/Python/2.7目录中。由于我希望将这个路径在不同的系统中保持

统一,因此我将“--user”选项改为更具体的“--prefix=~/.local”。不管你选择哪种,请记住后面的内容假定你选择的是后者。

With that tangent behind us, let's install Distribute:

带着这种考量,我们安装Distribute:

安装到~/.local目录唯一的缺点就是我们需要手动加入一些路径到PATH和PYTHONPATH环境变量中去。编辑一下.bash_profile吧...

增加下面几行代码:

# Path ------------------------------------------------------------if [ -d ~/.local/bin ]; then  export PATH=~/.local/bin:$PATH exists.fi# Python path -----------------------------------------------------if [ -d ~/.local/lib/python2.7/site-packages ]; then  export PYTHONPATH=~/.local/lib/python2.7/site-packages:$PYTHONPATHfi# Load in .bashrc -------------------------------------------------

source ~/.bashrc

Let's load those directives now via:

现在,让我们加载这些设定:

source ~/.bash_profile

 

Lion's easy_install is normally located in /usr/bin, so let's make sure that our local version is the one that's used by default:

Lion系统自带的easy_install通常放在/usr/bin目录下,因此这里要确保我们自己安装的版本是系统默认的:

which easy_install

确保得到的结果是~/.local/bin/easy_install, 这样我们就全设置好了!

virtualenv and virtualenvwrapper(虚拟环境和虚拟环境包装层)

  

安装到~/.local下的Python包对于用户来说的确是具有局部属性的,但是它们在某种程度上也是全局的,因为对于用户的所有工程项目它们都是可见的。有时候这会很方便,但这也会带来一些问题。比如,有时候一个工程需要最新版本的Django,而另一个工程却需要Django 1.2版来与一个至关重要的第三方扩展包维持兼容。而这正是设计virtualenv所用来解决的问题。virtualenv,virtualenvwrapper和Mercurial(一种源代码版本管理工具)是唯一一直存在于我的系统中的软件包。其它的每一个包都局限在它的虚拟环境中。

 

Let's install virtualenv and its companion virtualenvwrapper:

 

我们来安装virtualenv和它的伙伴virtualenvwrapper:

easy_install --prefix=~/.local virtualenv virtualenvwrapper

 

We'll then open/create the ~/.bashrc file...

 

然后我们打开根目录/,创建一个bash配置文件 ~/.bashrc

 

vim ~/.bashrc

 

vim ~/.bashrc

 

... and add some lines to it:

 

在其中增加如下几行代码:

django-admin.py startproject projectmv requirements.txt project/

 

We can now start Django's development web server...

 

我们可以启动Django的开发web服务器了...

python manage.py runserver

 

... and see the results in our web browser. For those that are new to Django, the Django Tutorial is a good place to learn how to continue building your project.

 

在我们的浏览器里看看结果如何。对于Django的新手,Django教程是个学习如何继续构建你的项目的好去处。

首次向版本管理工具提交

 

Now that you have a Django project started, use your preferred version control system to make your first commit. For Mercurial, that would be:

 

现在你已经有了一个Django项目工程,快使用你最趁手的版本管理工具来做第一次提交吧,对于Mercurial,那就是:

hg init projectcd projecthg addhg commit -m "Initial commit"

配置文件(类Unix系统中的配置文件都是以.开头的,因此原文的dotfiles这里就是指的配置文件)

While I've posted excerpts of my dotfiles above, you can get the whole enchilada from my Bitbucket repository.

尽管我已经在前文给出了我的配置文件摘录,你可以在我的存储库Bitbucket repository得到全部的配置文件。

咻!搞定

Congrats! It takes a bit of time to set up a new system, but it's well worth the journey. These are the tools of our trade, and we use them every day, so it makes sense to make them as efficient as possible.   

恭喜!我们花了一点时间来设定一个新的系统,但这是很值得的。这就是我们的工具,我们将在每天的工作中使用它们,因此很有必要使它们尽可能的高效。

That said, the good can always be made better. What would you do to improve this Lion bootstrap process? Leave a comment below!   

那就是说,好的总可以变得更好。对这个Lion系统的启动设置你还可以做什么改进?留下你的意见吧!

本文转载自:http://www.cnblogs.com/liuqxFuture/archive/2012/10/20/2732251.html

共有 人打赏支持
xxjbs001
粉丝 55
博文 298
码字总数 215621
作品 0
浦东
QA/测试工程师
BitNami DjangoStack for Mac os

之前在Mac上安装Django的开发环境一直因为Mysql驱动问题,安装不到位。发现PHP的集成包类似MAMP,XAMPP,APPSERVER一大堆,一直没有发现Django的集成环境。偶然中得到一个神器--BitNami D...

阿启
2013/09/01
0
0
django开发环境部署(二)——python版本控制器pyenv

python版本控制器pyenv 之前的那篇是说明了django环境的site package完全独立出来了,但是使用的python解释器还是系统的,为了继续独立出来,甚至是达到ruby的rvm的自由切换解释器版本,那样...

异类深呼吸
2014/04/24
0
0
centos 6.4x64 django开发环境搭建(升级python2.6.6为2.7.3)

最近学习python语言,学到django的时候,准备搭建一个django开发环境,几经周折,最终配置成功,现把配置过程整理出来,供大家学习交流: 服务器环境: CentOS release 6.4 (Final) x64 1,下...

苦咖啡sa
2015/04/09
0
0
Eclipse+PyDev+Django+Mysql搭建Python web开发环境

             Eclipse+PyDev+Django+Mysql搭建Python web开发环境   Python的web框架有很多,目前主流的有Django、Tornado、Web.py等,最流行的要属Django了,也是被大家最看...

狼行-狼行
2014/05/05
0
0
Django入门指南-第1部分(环境搭建)

前言 今天我将开始一个关于 Django 基础知识的全新系列教程。这是一个开始学习 Django 的完整入门指南。教程材料一共会被分为七个部分。我们将从安装,开发环境的准备,模型,视图,模板,U...

刘志军
03/08
0
0
linux下的 python开发环境

1.安装搜狗 : (1)官网下载搜狗输入法,下载完成后,直接可以在ubuntu软件中心打开 (2)在langage support中install (3)all settings->text entry->input method->show current input source-......

tavenpy
2015/04/13
0
2
我的 Django + Visual Studio Code 的 Pylint 设置

最近又开始使用起 Visual Studio Code 写 Python/Django 的项目,发现不少地方可以配置,而以前常常忽略了这些,只是简单的安装了相关插件了事。今天先讲讲 Pylint 的相关配置。 使用 Pylint...

I'm TualatriX
04/14
0
0
【转】在Windows 7上搭建Python开发环境:Eclipse+Pydev

以下内容来自: http://blog.imfickle.com/?p=24 因为项目需要,我需要在装有Windows 7的新笔记本上安装一套Python的开发集成环境。因为Python 3.0改动很大,而且目前版本的Django与Python ...

王小明123
2012/08/29
0
4
如何解决Python包依赖问题

以简洁高效(指编程较为高效, 而不是运行速度)出名的Python, 在包依赖问题上有时候让人挠头. 一些新手复制了Github上的项目准备运行, 很多时候会在包依赖这一步上卡个半天.(这里推荐新手最好在...

謝增光_Feson
05/27
0
0
Django入门:第一个Django应用

对Django这个框架感兴趣好久了,却一直懒于研究学习,现在跟随官网的教程跑一遍,学学Django同时也继续学学Python。 在开始之前,我们先把Python和Django这个框架安装好。 官网:https://www...

durban
2012/04/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MyBatis入门

一、安装 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>x.x.x</version></dependency> 二、从 XML 中构建 SqlSessionFactory String r......

一个yuanbeth
7分钟前
0
0
聊聊spring cloud的LoadBalancerAutoConfiguration

序 本文主要研究一下spring cloud的LoadBalancerAutoConfiguration RibbonAutoConfiguration spring-cloud-netflix-ribbon-2.0.0.RC2-sources.jar!/org/springframework/cloud/netflix/ribb......

go4it
9分钟前
0
0
【转】使用Lombok来优雅的编码

前言 Lombok 是一种 Java™ 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的。 正文 添加依赖 在 pom.xml 文件中添加相关依赖:...

HAVENT
11分钟前
0
0
Dubbo 源码解读 —— 可支持序列化及自定义扩展

一、概述 从源码中,我们可以看出来。目前,Dubbo 内部提供了 5 种序列化的方式,分别为 fastjson、Hessian2、Kryo、fst 及 Java原生支持的方式 。 针对不同的序列化方式,对比内容如下: 名...

Ryan-瑞恩
19分钟前
0
0
MySQL内存设置—— MySQL server has gone away

set global max_allowed_packet=268435456

一梦心草
28分钟前
0
0
推导式

列表、集合和字典推导式 列表推导式是Python最受喜爱的特性之一。它允许用户方便的从一个集合过滤元素,形成列表,在传递参数的过程中还可以修改元素。形式如下: [expr for val in collect...

火力全開
34分钟前
0
0
maven配置文件settings.xml详解

settings.xml有什么用? 如果在Eclipse中使用过Maven插件,想必会有这个经验:配置settings.xml文件的路径。 settings.xml文件是干什么的,为什么要配置它呢? 从settings.xml的文件名就可以...

浮躁的码农
39分钟前
0
0
MakeCode图形化编程语言学习笔记:micro:bit编程练习题[图]

MakeCode图形化编程语言学习笔记:micro:bit编程练习题[图]: 基础训练题: Q1:摇晃micro:bit编程板,随机出现7个小动物图标中的一个,并且前后相邻两次出现的小动物不重复。 注:七个小动物...

原创小博客
39分钟前
0
0
Redis 压力测试说明

Redis 压力测试说明 redis压力测试 2014-03-24 21:41:07| 分类: 默认分类 | 标签:redis |举报|字号 订阅 这几天对比测试mongodb、redis、pg的性能,主要是在消息队列、消息处理、用户经纬度...

舒文joven
39分钟前
0
0
拉姆达表达式 追加 条件判断 Expression>

public static class PredicateBuilder {   /// <summary>   /// 机关函数应用True时:单个AND有效,多个AND有效;单个OR无效,多个OR无效;混应时写在AND后的OR有效   /// </summary...

Lytf
52分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部