Python下载安装(mac)

Python018

Python下载安装(mac),第1张

https://www.runoob.com/python3/python3-data-type.html

https://www.python.org/downloads/mac-osx/

Python3 的六个标准数据类型中:

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);

可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

string、list 和 tuple 都属于 sequence(序列)

Python3 支持 int、float、bool、complex(复数)

type() 函数可以用来查询变量所指的对象类型

isinstance()来判断是否为某一种类型

是不可变结构(immutable)

Python中的字符串用单引号 ' 或双引号 " 括起来,

同时使用反斜杠 \ 转义特殊字符;+r可防止转义

索引:索引值以 0 为开始值,-1 为从末尾的开始位置

截取 :变量[头下标:尾下标:步长]

放置任意数据类型的有序集合,动态可变(mutable)

支持索引,切片,可修改

列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

变量[头下标:尾下标]

reverse():是python中列表的一个内置方法,其实返回的是None,只有在print()的时候才看出反转的效果。

reversed():是python自带的一个方法,返回的是一个把序列值经过反转之后的迭代器。

join():python中 字符串 自带的一个方法,S.join(可迭代) - >str返回一个字符串,该字符串是字符串的串联迭代。 元素之间的分隔符是S。

split():通过指定分隔符对字符串进行切片为列表,如果参数 num 有指定值,则分隔 num+1 个子字符串。str.split(str="", num=string.count(str)).

放置任意数据类型的有序集合,静态不可变(immutable)

支持索引、切片但不可修改

虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。

构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:

是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。

基本功能是进行成员关系测试和删除重复元素。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

字典(dictionary)是Python中另一个非常有用的内置数据类型。

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。

构造函数 dict() 可以直接从键值对序列中构建字典如下:

用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列

方法用于截掉字符串左边的空格或指定字符

通过指定分隔符对字符串进行切片为列表,如果参数 num 有指定值,则分隔

str.count(sub, start= 0,end=len(string))

用于从列表中找出某个值第一个匹配项的索引位置

list.index(x[, start[, end]])

list.sort( key=None, reverse=False)升序

函数sort()会默认地按升序排列

list.sort() 不会返回对象,会改变原有的list

sorted与sort区别

前者是内置函数,后者是列表、字典的方法;前者返回一个新列表

前者是内置函数,后者是列表、字典的方法。前者返回一个新列表

支持python开发环境的系统有Linux、OSX和windows,以及所有主要的操作系统中。

Linux,Linux系统是为编程而设计的,因此在大多数Linux计算机中,都默认安装了Python。编写和维护Linux的人认为会使用这种系统进行编程。要在Linux中运行Python,几乎不用安装什么软件,也几乎不用修改什么设置。

OSX,大多数OSX系统中都默认安装了Python。确定安装了Python之后,那还需要安装一个文本编辑器。

Windows,windows系统并非都默认安装了Python,因此可能需要下载它,在下载安装一个文本编辑器。

setp1

安装CodeX,不解释,在AppStop中搜索安装即可

setp2

安装Homebrew

Homebrew即MacOSX上的apt-get

按照官网的安装方式,在terminal中输入下列命令即可完成安装

cd ~

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

setp3

使用Homebrew安装Python,注意:避免使用系统Python解释器作为我们自己的主解析器,尤其是在使用virtualenv和virtualenvwrapper的时候。安装命令:

$ brew install python

注意安装结束后会有下列提示,提示我们把/usr/local/opt/python/libexec/bin增加到环境变量中,此举正是为了我们在使用python时,使用的是用Homebrew安装的python而不是系统python。

If you wish to have this formula's python executable in your PATH then add

the following to ~/.bash_profile:

export PATH="/usr/local/opt/python/libexec/bin:$PATH"

这是重要的一步,请不要跳过。

setp4

安装 virtualenv 和 virtualenvwrapper

这两个工具是为了创建独立的python环境,不了解的朋友请自行Google

值得注意的是,这两个工具对于搭建opencv3.0+python2.7运行环境来说不是必须的,但是强烈建议安装,以保证python环境的干净,易于管理。

安装只需执行命令:

$ pip install virtualenv virtualenvwrapper

安装完成后,在~/.bash_profile文件中追加如下内容:

# Virtualenv/VirtualenvWrapper

source /usr/local/bin/virtualenvwrapper.sh

然后执行命令:

$ source ~/.bash_profile

至此,virtualenv 和virtualenvwrapper已经正确完成安装。我们可以使用如下命令创建一个独立的python环境:

$ mkvirtualenv cv

setp5

我们开始安装一些必须的python包,安装NumPy

We need to install NumPy since the OpenCV Python bindings represent images as multi-dimensional NumPy arrays

安装方式:

$ pip install numpy

注意:如果你使用了step4中的virtualenv创建python虚拟环境,则需要在您之前创建的虚拟环境中安装需要的python包

step6

之前的步骤,主要目的是建立和配置编译安装OpenCv的环境,从这一步开始,我们开始真正的工作。

首先,我们使用brew安装需要的开发者工具,例如CMake。

$ brew install cmake pkg-config

还有一些必要的图像I/O包,这些包可以使我们能够加载各种不同类型的图像文件例如JPEG,PNG,TIFF等。

$ brew install jpeg libpng libtiff openexr

And finally, let’s install libraries that are used to optimize various operations within OpenCV (if we so choose):

$ brew install eigen tbb

setp7

恭喜,截止目前系统已经搭建完成,我们开始着手编译和安装python支持的opencv。下载代码:

$ cd ~

$ git clone https://github.com/Itseez/opencv.git

$ cd opencv

$ git checkout 3.0.0

最后一个命令$ git checkout 3.0.0其中的3.0.0可以替换成你需要的版本号

之后下载opencv_contrib代码,这部分不是必须的,但是强烈建议同时下载,原因是opencv_contrib包含很多有用的功能,包括:

feature detection, local invariant descriptors (SIFT, SURF, etc.), text detection in natural images, line descriptors, and more

$ cd ~

$ git clone https://github.com/Itseez/opencv_contrib

$ cd opencv_contrib

$ git checkout 3.0.0

请确保checkout opencv_contrib的版本号要与上面checkout opencv的版本号相同

step8

创建一个bulid目录:

$ cd ~/opencv

$ mkdir build

$ cd build

使用CMake配置我们的构建:

$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \

-D PYTHON2_PACKAGES_PATH=~/.virtualenvs/cv/lib/python2.7/site-packages \

-D PYTHON2_LIBRARY=/usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/bin \

-D PYTHON2_INCLUDE_DIR=/usr/local/Frameworks/Python.framework/Headers \

-D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON \

-D BUILD_EXAMPLES=ON \

-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules ..

注意:在执行上述命令之前,请务必切换到之前建立的虚拟python环境cv:

workon cv

cmake命令执行完成后,需要关注它的总结输出,尤其是其中的Opencv modules部分:

-- OpenCV modules:

-- To be built: core flann imgproc ml objdetect photo video dnn imgcodecs shape videoio highgui superres ts features2d calib3d stitching videostab python2

-- Disabled:world

-- Disabled by dependency: -

-- Unavailable: cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev java python3 viz

-- Python 2:

-- Interpreter: /Users/zhuangyuan/.virtualenvs/cv/bin/python2.7 (ver 2.7.13)

-- Libraries: /usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/bin (ver 2.7.13)

-- numpy: /Users/zhuangyuan/.virtualenvs/cv/lib/python2.7/site-packages/numpy/core/include (ver 1.13.1)

-- packages path: /Users/zhuangyuan/.virtualenvs/cv/lib/python2.7/site-packages

如果python2部分的信息不完整,或者python2没有出现在OpenCV modules的To be built:后面,而是出现在Unvailable:后面,则说明Cmake没有正确完成,需要检查此步骤中Cmake命令的参数中的路径是否正确已经是否确实切换到了我们为opencv建立的虚拟python环境中。

再次提醒,此步骤中参数路径必须仔细核对,如果错误,后续的编译将无法成功

这时候可以开始编译了:

$ make -j4

这里的4是利用4核CPU全速并行编译,也可以不带-j4参数,或者把4修改成你的CPU核心数

编译完成后,进行安装:

make install

如果有错误,加上sudo再执行:

sudo make install

setp9

检查一下~/.virtualenvs/cv/lib/python2.7/site-packages/路径下可以看到cv2.so就说明安装成功了:

$ cd ~/.virtualenvs/cv/lib/python2.7/site-packages/

$ ls -l cv2.so

-rwxr-xr-x 1 adrian staff 2013052 Jun 5 15:20 cv2.so

用一下吧:

(cv) promote:lib zhuangyuan$ python

Python 2.7.13 (default, Jul 18 2017, 09:17:00)

[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>>import cv2

>>>cv2.__version__

'3.3.0'

恭喜,OSX系统下opencv3 with python2.7环境搭建成功。