pil ubuntu,ubuntu18.04下载
大家好,如果您还对pil ubuntu不太了解,没有关系,今天就由本站为大家分享pil ubuntu的知识,包括ubuntu18.04下载的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
python有多少个版本(python几个版本的区别)
导读:今天首席CTO笔记来给各位分享关于python有多少个版本的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
不同的电脑应该下载什么python
您可以搜索Windows32位和Windows64位的不同安装版本进行安装。
根据专业软件开发者所描述,python主要有以下几个版本。
1、pythonv2.07:很多公司都写了python2的代码,python也是从这个版本中成为了一颗新启的星星,也让更多的开发者认识和加入到python的开发行例。但是,随着python和开发者的越来越多,python2的功能库、资源也就再也满足了开发者的需求,而且python2与后面的版本python3是不兼容的,官方也宣布在2020停止对python2的更新与维护。
2、pythonv3.5:是目前用于教学的版本。
3、pvythonv3.8:截止今日pyhton的最新版本。
python有几个版本
Python的3.0版本,常被称为Python3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。
为了不带入过多的累赘,Python3.0在设计的时候没有考虑向下相容。
许多针对早期Python版本设计的程式都无法在Python3.0上正常执行。
为了照顾现有程式,Python2.6作为一个过渡版本,基本使用了Python2.x的语法和库,同时考虑了向Python3.0的迁移,允许使用部分
Python3.0的语法与函数。
python学习网,免费的python学习网站,欢迎在线学习!
新的Python程式建议使用Python3.0版本的语法。
除非执行环境无法安装Python3.0或者程式本身使用了不支援Python3.0的第三方库。目前不支援Python3.0的第三方库有Twisted,
py2exe,PIL等。
大多数第三方库都正在努力地相容Python3.0版本。即使无法立即使用Python3.0,也建议编写相容Python3.0版本的程式,然后使用
Python2.6,Python2.7来执行。
python所有版本发布时间?
Python的所有版本发布时间如下:
Python3.3.2发布于2013年5月15日。
Python3.2.5发布于2013年5月15日。
Python3.1.5发布于2012年4月10日。
Python3.0.1发布于2009年2月13日。
Python2.7.5发布于2013年5月15日。
Python2.6.8发布于2012年4月10日。
Python2.5.6发布于2011年5月26日。
Python2.4.6发布于2008年12月19日。
Python2.3.7发布于2008年3月11日。
Python2.2.3发布于2003年5月30日。
Python2.1.3发布于2002年4月8日。
Python2.0.1发布于2001年6。
Python1.6.1发布于2000年9月。
Python1.5.2发布于1999年4月。
Python的创始人为荷兰人吉多·范罗苏姆(GuidovanRossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。
之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森的飞行马戏团》(MontyPython'sFlyingCircus)。
ABC是由Guido参加设计的一种教学语言。就Guido本人看来,ABC这种语言非常优美和强大,是专门为非专业程序员设计的。
但是ABC语言并没有成功,究其原因,Guido认为是其非开放造成的。Guido决心在Python中避免这一错误。同时,他还想实现在ABC中闪现过但未曾实现的东西。
就这样,Python在Guido手中诞生了。可以说,Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unixshell和C的习惯。
扩展资料:
Python的设计哲学是“优雅”、“明确”、“简单”。因此,Perl语言中“总是有多种方法来做同一件事”的理念在Python开发者中通常是难以忍受的。Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。
在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确的没有或者很少有歧义的语法。
由于这种设计观念的差异,Python源代码通常被认为比Perl具备更好的可读性,并且能够支撑大规模的软件开发。这些准则被称为Python格言。在Python解释器内运行importthis可以获得完整的列表。
参考资料:
百度百科--Python
现在python已经更新到哪个版本了
已经更新到python3.10.2版本了。后附官方链接:
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
python3.6有几个版本?
python3.6有12个版本,分别是3.6.0、3.6.1、3.6.2、3.6.3、3.6.4、3.6.5、3.6.7、3.6.8、3.6.9、3.6.10、3.6.11。
我们可以在python官网中查看python3.6各个版本的信息:
更多Python知识请关注Python自学网
两个python版本,怎么确定哪个是在用的
很多初学者刚开始学python的时候,一定都遇到过这个问题,python的世界有2个版本,python2和python3,而且有些语法还不兼容.怎么办~~到底应该选择哪个版本来开发呢?好,今天我们就来聊聊这个话题.
1.Python2和Python3的历史背景
Python语言是在20世纪90年代诞生的,算算到现在已经是25岁的大叔级的语言了(跟它同一个时代的还有一个鼎鼎大名的java是在1995发行的,红了几十年).
但是Python真正成名比java晚了很多年,其实也主要是应用领域的时代变迁.(猜测为啥,对了大数据的出现)
Python2是Python里面一个非常重要的版本,最早的版本是从2001的时候开始的,特别是从2006年开始py2.5的发布,python的功能逐渐强大起来,慢慢开始稳定下来,并且差不多1-2年左右递增一个版本,在08年左右开始慢慢的火起来了.
而Python3最早是从2008开始发布,但是py3.0的版本非常不稳定,所以社区更新的很快,差不多几个月就更新一次。所以一开始的时候并没有很多人用,只到2014春暖花开的时候python3.4deliver了才开始慢慢稳定下来.
下面我们看一个数据,这是Python社区联和一些网站在2014做的一个调查,关于Python2/3,部分的结果如下:
1).97.51%用户还在写Python2的代码
2).60%的用户写Python3的代码
3).78.09%的用户更多地写Python2代码
4).77.09%的用户认可Python3
目前有一些Linux里的操作系统已经默认使用Python3:
1).ArchLinux(轻量级的Linux操作系统)
2).Ubuntu16.04(一个桌面应用为主的Linux操作系统)
3).Fedora(Redhat桌面版本的延续)
2.Python2和Python3的主要区别:
目前最新的数据是,Python有两个版本:一个是2.7.12版,一个是3.5.12版.
那么Python2运行的好好的,为啥突然要出个Python3呢,其实是为了解决Python2里面一些历史问题
第一个是字符串的问题:
Python2中文本和二进制数据是一个烂摊子,Python中的str是代表二进制数据还是文本数据是有二义性,文字既能代表文本数据又能代表二进制数据这很麻烦,此类错误发生的时候,我们很难意识到。
第二个是对Unicode的支持
由于python是在1991年2月开源发布,这意味着它早于在1991年10月发布的第一版Unicode标准。在接下来几年中,晚于Unicode标准出现的语言都选择在支持Unicode编码的基础上实现自己的str类型,这让Python2处于尴尬的境地。
目前是一个python2/3共存的时代,这两个版本是不兼容的。
python2现在只是做bug的修复,新硬件和操作系统兼容的相关维护工作。不会再有新的功能加入,python2只支持到2020年.
现在Python正在朝着3版本进化,在进化过程中,大量的针对2.x版本的代码要修改后才能运行,所以目前有许多第三方库还暂时无法在3.x上使用。
不过可以畅想一下,也许再过几年情况就会好很多,毕竟全世界有很多优秀的程序员正在把一些库从Py2往Py3上迁移.
3.选择还是要根据自己的需求
若是企业的开发,要满足工作的需求,尤其是依赖的软件只能运行在Python2下,首选Python2.比如你的开发需要依赖大量的第三方的库(因为学Python非常大的一个原因就是因为它有成千上万的第三方包),像大量的数据分析,科学计算,还是选Python2吧.
如果你是自己学习,研究的话,愿意拥抱变化,那么建议学Python3,因为它是未来的方向.
结论:
编程其实主要是对编程思想的理解和经验的积累,千万不要因为纠结学Py2还是Py3而浪费大量时间。
Py2和Py3里面的思想基本是相通的,招式是类似的.当你熟悉Python到一定的程序的时候,会Py2的人学Py3只需要很短的时间。
所以不要再纠结细枝末节的语法差异,而耽误了宝贵的学习时间
结语:以上就是首席CTO笔记为大家介绍的关于python有多少个版本的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。
ubuntu怎么安装Django
导读:今天首席CTO笔记来给各位分享关于ubuntu怎么安装Django的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
如何在ubuntu12.04下搭建PythonDjango环境
首先Ubuntu自带Python然后安装Django
这个是安装配置使用NginxUwsgi来配置Django
照着一步步来就行很简单生产环境使用
django安装各种包报错
Ubuntu新环境下搭建djangorestapi时安装MySQL-python报错。
需要安装(sudo)apt-getinstallpython-dev
python-dev是必须的?----error:Python.h
你需要自己安装一个源外的python类库,而这个类库内含需要编译的调用pythonapi的c/c++文件
你自己写的一个程序编译需要链接libpythonXX.(a|so)
(注:以上不含使用ctypes/ffi或者裸dlsym方式直接调用libpython.so)
其他正常使用python或者通过安装源内的python类库的不需
Installingcollectedpackages:MySQL-python
Runningsetup.pyinstallforMySQL-python...error
Completeoutputfromcommand/usr/bin/python-u-c"importsetuptools,tokenize;__file__='/tmp/pip-build-ZzcKHT/MySQL-python/setup.py';f=getattr(tokenize,'open',open)(__file__);code=f.read().replace('\r\n','\n');f.close();exec(compile(code,__file__,'exec'))"install--record/tmp/pip-Ur_CBU-record/install-record.txt--single-version-externally-managed--compile:
runninginstall
runningbuild
runningbuild_py
creatingbuild
creatingbuild/lib.linux-x86_64-2.7
copying_mysql_exceptions.py-build/lib.linux-x86_64-2.7
creatingbuild/lib.linux-x86_64-2.7/MySQLdb
copyingMySQLdb/__init__.py-build/lib.linux-x86_64-2.7/MySQLdb
copyingMySQLdb/converters.py-build/lib.linux-x86_64-2.7/MySQLdb
copyingMySQLdb/connections.py-build/lib.linux-x86_64-2.7/MySQLdb
copyingMySQLdb/cursors.py-build/lib.linux-x86_64-2.7/MySQLdb
copyingMySQLdb/release.py-build/lib.linux-x86_64-2.7/MySQLdb
copyingMySQLdb/times.py-build/lib.linux-x86_64-2.7/MySQLdb
creatingbuild/lib.linux-x86_64-2.7/MySQLdb/constants
copyingMySQLdb/constants/__init__.py-build/lib.linux-x86_64-2.7/MySQLdb/constants
copyingMySQLdb/constants/CR.py-build/lib.linux-x86_64-2.7/MySQLdb/constants
copyingMySQLdb/constants/FIELD_TYPE.py-build/lib.linux-x86_64-2.7/MySQLdb/constants
copyingMySQLdb/constants/ER.py-build/lib.linux-x86_64-2.7/MySQLdb/constants
copyingMySQLdb/constants/FLAG.py-build/lib.linux-x86_64-2.7/MySQLdb/constants
copyingMySQLdb/constants/REFRESH.py-build/lib.linux-x86_64-2.7/MySQLdb/constants
copyingMySQLdb/constants/CLIENT.py-build/lib.linux-x86_64-2.7/MySQLdb/constants
runningbuild_ext
building'_mysql'extension
creatingbuild/temp.linux-x86_64-2.7
x86_64-linux-gnu-gcc-pthread-DNDEBUG-g-fwrapv-O2-Wall-Wstrict-prototypes-fno-strict-aliasing-Wdate-time-D_FORTIFY_SOURCE=2-g-fstack-protector-strong-Wformat-Werror=format-security-fPIC-Dversion_info=(1,2,5,'final',1)-D__version__=1.2.5-I/usr/include/mysql-I/usr/include/python2.7-c_mysql.c-obuild/temp.linux-x86_64-2.7/_mysql.o
_mysql.c:29:20:fatalerror:Python.h:Nosuchfileordirectory
#include"Python.h"
^
compilationterminated.
error:command'x86_64-linux-gnu-gcc'failedwithexitstatus1
----------------------------------------
Command"/usr/bin/python-u-c"importsetuptools,tokenize;__file__='/tmp/pip-build-ZzcKHT/MySQL-python/setup.py';f=getattr(tokenize,'open',open)(__file__);code=f.read().replace('\r\n','\n');f.close();exec(compile(code,__file__,'exec'))"install--record/tmp/pip-Ur_CBU-record/install-record.txt--single-version-externally-managed--compile"failedwitherrorcode1in/tmp/pip-build-ZzcKHT/MySQL-python/
python2.7怎么安装django
Django提供3种发行版本,推荐使用官方的稳定版本:
1.你的操作系统提供的发行版本(Linux)
2.官方稳定版本(推荐)
3.开发测试版本
Django本质上是Python语言的一个类库,因此可以通过pip工具安装。这也是最简便最好的安装方式。不建议通过下载安装包或者编译源码进行安装的方法,除非你的环境无法连接外部网络。
首先,确保你已经安装了pip!
在Ubuntu下:sudopipinstalldjango
在windows下:命令行中pipinstalldjango
如果要指定版本,可使用pipinstalldjango=1.14.1这种形式。
摘自:刘江的博客和教程:liujiangblog-com,里面有详细的描述。
ubuntu怎么部署django
记录一次在全新服务器下配置Django项目说明:
Linux操作系统:Ubuntu16.04
Django版本:1.8.7
Python版本:2.7.12
运行模式:Ubuntu+Django+Apache2+Mod_wsgi
Apache2配置文件:sudovi/etc/apache2/apache2.conf
Apache2错误日志:cat-n/var/log/apache2/error.log
Apache2命令:
启动:sudo/etc/init.d/apache2start
重启:sudo/etc/init.d/apache2restart
停止:sudo/etc/init.d/apache2stop
配置过程如遇到错误,请仔细检查前面每一步是否有完全按照教程来执行。
1.安装Django
a)sudoapt-getinstallpython-pip
b)sudopipinstallDjango==1.10.5
2.安装Apache2
a)sudoapt-getinstallapache2
3.安装libapache2-mod-wsgi
a)sudoapt-getinstalllibapache2-mod-wsgi
4.创建项目及应用
a)创建项目
django-adminstartproject项目名称
b)创建应用(如果有应用就上传到项目目录下,否则创建)
pythonmanage.pystartapp应用名称
5.项目和应用建好后给予权限
a)chown-Rwww-data:www-data项目名称
6.配置Apache2
a)sudovi/etc/apache2/apache2.conf
169-177行是我添加的内容
169Directory/home/z/product/Code(改为自己的项目目录)
170OptionsIndexesFollowSymLinks
171AllowOverrideNone
172Requireallgranted
173/Directory
174WSGIScriptAlias//home/z/product/Code/Code/wsgi.py(改为自己的项目文件)
175WSGIPythonPath/home/z/product/Code(改为自己的项目文件)
176Alias/static//home/z/product/Code/business/static/(改为自己的项目内的应用)
177Alias/static//home/z/product/Code/yyl/static/(改为自己的项目内的应用)
169-175行的功能为添加项目至Apache
176和177行是为了加载应用内/static/目录内的静态资源
错误及解决方案:
下面错误可能只是自己当前项目中所遇到的错误,其他项目请忽略。
问题一:ImportError:Nomodulenamedcelery
sudopipinstallgit+
问题二:NomodulenamedPIL.ImImagePlugin
sudoapt-getinstallpython-imaging
问题三:Nomodulenamedrequests
sudopipinstallrequests
问题四:Nomodulenameddss.Serializer
sudopipinstalldjango-simple-serializer
Ubuntu14.04下Django+MySQL安装部署全过程
Ubuntu16.04下安装部署Nginx+uWSGI+Django1.9.7
Django的详细介绍:请点这里
Django的下载地址:请点这里
本文永久更新链接地址:
腾讯云python系列之部署Django流程
我的是centos系统
我们通过腾讯的控制台的登录按钮,进入到远程登录的界面,如图1为腾讯云的控制台界面。图2为登录以后的密码输入窗口
进入登录界面以后,会是图3这样子的情况,我们输入ls,会发现没有任何文件,输入piplist会提示没有安装pip,而输入python时,会显示默认安装了python2.7.5版本
一、首先我们要安装pip,根据自己的系统自行选择
centos类系统:sudoyuminstallpythonpython-pip
ubuntu类系统:sudoapt-getinstallpythonpython-pip
安装好以后piplist一下,看看都有哪些python安装包
二、安装django
我安装的Django版本为1.9.8的,根据自己的情况,更改后面的版本号
sudopipinstallDjango==1.9.8
可能会出现图4这样的问题,原因是我们pip版本太低,直接按照提示升级我们的pip
更新了pip以后,安装可能会出现如图5这样的问题,我们不要在==两边加空格,因为加空格会导致不识别django的版本。
安装完以后你会发现自己找不到Django放在哪里了,其实我的django被安装在了
/usr/lib/python2.7/site-packages/
并且我们要执行创建django的命令在django的bin目录下,如图6
/usr/lib/python2.7/site-packages/django/bin
进入到该目录下,运行django-admin.pystartprojectFirstProject,创建出FirstProject的项目。就会在该目录下创建出FirstProject这个项目,进入项目,运行pythonmanage.pyrunserver
问题来了,我们运行以后,不要点击,这个是进不去的,我们应该通过腾讯云的公网ip来访问网站,但又有同学发现通过公网的ip也无法访问我们的网站,这是因为自己的腾讯云没有打开相应的端口,所以无法访问。开放端口在安全组这个选项,如图7
进入安全组,新建我们的开放端口,我开放的是80端口。如图8
开放端口后,我们重新pythonmanage.pyrunserver0.0.0.0:80,如图9
通过公网ip,就可以直接访问我们的网站了。如图10
如何在ubuntu下配置Django和apache+mod
参考一下:
Apache是全球使用率最高的、开源的一个Web服务端软件,现在介绍一下如何在Ubuntu14.04上安装和配置Apache。
工具/原料
Ubuntu14.04
方法/步骤
命令行安装Apache
打开"终端窗口",输入"sudoapt-getinstallapache2"--回车--输入"root用户的密码"--回车--输入"y"--回车,安装完成
默认的网站根目录的路径
Apache安装完成后,默认的网站根目录是"/var/www/html",在终端窗口中输入"ls/var/www/html"--回车--在网站根目录下有一个"index.html"文件,在ie浏览器中输入"127.0.0.1"--回车,就可以打开该页面。
Apache的第一个配置文件apache2.conf的路径
在终端窗口中输入"ls/etc/apache2"--回车--有一个"apache2.conf"的配置文件。
Apache的第二个配置文件000-default.conf的路径
在终端窗口中输入"ls/etc/apache2/sites-available"--回车--有一个"000-default.conf"的配置文件。
修改网站的根目录
1、在终端窗口中输入"sudovi/etc/apache2/apache2.conf"--回车--找到"Directory/var/www/"的位置--更改"/var/www/"为新的根目录就可以了。
2、在终端窗口中输入"sudovi/etc/apache2/sites-available/000-default.conf"--回车--找到"DocumentRoot/var/www/html"的位置--更改"/var/www/html"为新的根目录就可以了,这里我把它更改为"/var/www/"。
重启Apache
在终端窗口中输入"sudo/etc/init.d/apache2restart"--回车--"输入root用户密码"--回车--重启成功。
复制"index.html"文件到"/var/www"目录下
在终端窗口中输入"cp/var/www/html/index.html/var/www/"--回车--输入"ls/var/www"--回车--有一个"index.html"文件,复制成功。
测试更改网站根目录是否成功
在"火狐浏览器"中输入"127.0.0.1"--能访问到"index.html"文件--更改成功
结语:以上就是首席CTO笔记为大家介绍的关于ubuntu怎么安装Django的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。
python多少版本才能安装dlib(安装不同版本的python)
今天给各位分享python多少版本才能安装dlib的知识,其中也会对安装不同版本的python进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、pythonpip安装dlib一直失败?2、如何线上部署用python基于dlib写的人脸识别算法3、ubuntu里面怎么安装dlib4、dlib库,怎么在python中安装5、谁用过python中的第三方库facerecognitionpythonpip安装dlib一直失败?
安装失败需要检查几个问题:
兼容问题,对应的包支持的操作系统,支持的Python版本
安装问题,部分包只能通过源码安装,或者离线的wheel方式安装
核对包的安装文档
如何线上部署用python基于dlib写的人脸识别算法
python使用dlib进行人脸检测与人脸关键点标记
Dlib简介:
首先给大家介绍一下Dlib
Dlib是一个跨平台的C++公共库,除了线程支持,网络支持,提供测试以及大量工具等等优点,Dlib还是一个强大的机器学习的C++库,包含了许多机器学习常用的算法。同时支持大量的数值算法如矩阵、大整数、随机数运算等等。
Dlib同时还包含了大量的图形模型算法。
最重要的是Dlib的文档和例子都非常详细。
Dlib主页:
这篇博客所述的人脸标记的算法也是来自Dlib库,Dlib实现了OneMillisecondFaceAlignmentwithanEnsembleofRegressionTrees中的算法
这篇论文非常出名,在谷歌上打上OneMillisecond就会自动补全,是CVPR2014(国际计算机视觉与模式识别会议)上的一篇国际顶级水平的论文。毫秒级别就可以实现相当准确的人脸标记,包括一些半侧脸,脸很不清楚的情况,论文本身的算法十分复杂,感兴趣的同学可以下载看看。
Dlib实现了这篇最新论文的算法,所以Dlib的人脸标记算法是十分先进的,而且Dlib自带的人脸检测库也很准确,我们项目受到硬件所限,摄像头拍摄到的画面比较模糊,而在这种情况下之前尝试了几个人脸库,识别率都非常的低,而Dlib的效果简直出乎意料。
相对于C++我还是比较喜欢使用python,同时Dlib也是支持python的,只是在配置的时候碰了不少钉子,网上大部分的Dlib资料都是针对于C++的,我好不容易才配置好了python的dlib,这里分享给大家:
Dlibforpython配置:
因为是用python去开发计算机视觉方面的东西,python的这些科学计算库是必不可少的,这里我把常用的科学计算库的安装也涵盖在内了,已经安装过这些库的同学就可以忽略了。
我的环境是Ubuntu14.04:
大家都知道Ubuntu是自带python2.7的,而且很多Ubuntu系统软件都是基于python2.7的,有一次我系统的python版本乱了,我脑残的想把python2.7卸载了重装,然后……好像是提醒我要卸载几千个软件来着,没看好直接回车了,等我反应过来Ctrl+C的时候系统已经没了一半了…
所以我发现想要搞崩系统,这句话比rm-rf还给力…
sudoapt-getremovepython2.71
首先安装两个python第三方库的下载安装工具,ubuntu14.04好像是预装了easy_install
以下过程都是在终端中进行:
1.安装pip
sudoapt-getinstallpython-pip1
2.安装easy-install
sudoapt-getinstallpython-setuptools1
3.测试一下easy_install
有时候系统环境复杂了,安装的时候会安装到别的python版本上,这就麻烦了,所以还是谨慎一点测试一下,这里安装一个我之前在博客中提到的可以模拟浏览器的第三方python库测试一下。
sudoeasy_installMechanize1
4.测试安装是否成功
在终端输入python进入pythonshell
python1
进入pythonshell后import一下刚安装的mechanize
importmechanize1
没有报错,就是安装成功了,如果说没有找到,那可能就是安装到别的python版本的路径了。
同时也测试一下PIL这个基础库
importPIL1
没有报错的话,说明PIL已经被预装过了
5.安装numpy
接下来安装numpy
首先需要安装python-dev才可以编译之后的扩展库
sudoapt-getinstallpython-dev1
之后就可以用easy-install安装numpy了
sudoeasy_installnumpy1
这里有时候用easy-install安装numpy下载的时候会卡住,那就只能用apt-get来安装了:
sudoapt-getinstallnumpy1
不推荐这样安装的原因就是系统环境或者说python版本多了之后,直接apt-get安装numpy很有可能不知道装到哪个版本去了,然后就很麻烦了,我有好几次遇到这个问题,不知道是运气问题还是什么,所以风险还是很大的,所以还是尽量用easy-install来安装。
同样importnumpy进行测试
python
importnumpy1234
没有报错的话就是成功了
下面的安装过程同理,我就从简写了,大家自己每步别忘了测试一下
6.安装scipy
sudoapt-getinstallpython-scipy1
7.安装matplotlib
sudoapt-getinstallpython-matplotlib1
8.安装dlib
我当时安装dlib的过程简直太艰辛,网上各种说不知道怎么配,配不好,我基本把stackoverflow上的方法试了个遍,才最终成功编译出来并且导入,不过听说18.18更新之后有了setup.py,那真是极好的,18.18我没有亲自配过也不能乱说,这里给大家分享我配置18.17的过程吧:
1.首先必须安装libboost,不然是不能使用.so库的
sudoapt-getinstalllibboost-python-devcmake1
2.到Dlib的官网上下载dlib,会下载下来一个压缩包,里面有C++版的dlib库以及例子文档,Pythondlib库的代码例子等等
我使用的版本是dlib-18.17,大家也可以在我这里下载:
之后进入python_examples下使用bat文件进行编译,编译需要先安装libboost-python-dev和cmake
cdtodlib-18.17/python_examples
./compile_dlib_python_module.bat123
之后会得到一个dlib.so,复制到dist-packages目录下即可使用
这里大家也可以直接用我编译好的.so库,但是也必须安装libboost才可以,不然python是不能调用so库的,下载地址:
将.so复制到dist-packages目录下
sudocpdlib.so/usr/local/lib/python2.7/dist-packages/1
最新的dlib18.18好像就没有这个bat文件了,取而代之的是一个setup文件,那么安装起来应该就没有这么麻烦了,大家可以去直接安装18.18,也可以直接下载复制我的.so库,这两种方法应该都不麻烦~
有时候还会需要下面这两个库,建议大家一并安装一下
9.安装skimage
sudoapt-getinstallpython-skimage1
10.安装imtools
sudoeasy_installimtools1
DlibfacelandmarksDemo
环境配置结束之后,我们首先看一下dlib提供的示例程序
1.人脸检测
dlib-18.17/python_examples/face_detector.py源程序:
#!/usr/bin/python#Thecontentsofthisfileareinthepublicdomain.SeeLICENSE_FOR_EXAMPLE_PROGRAMS.txt##?Thisexampleprogramshowshowtofindfrontalhumanfacesinanimage.?In#?particular,itshowshowyoucantakealistofimagesfromthecommand#?lineanddisplayeachonthescreenwithredboxesoverlaidoneachhuman#?face.##?Theexamples/facesfoldercontainssomejpgimagesofpeople.?Youcanrun#?thisprogramonthemandseethedetectionsbyexecutingthe#?followingcommand:#???./face_detector.py../examples/faces/*.jpg##?ThisfacedetectorismadeusingthenowclassicHistogramofOriented#?Gradients(HOG)featurecombinedwithalinearclassifier,animage#?pyramid,andslidingwindowdetectionscheme.?Thistypeofobjectdetector#?isfairlygeneralandcapableofdetectingmanytypesofsemi-rigidobjects#?inadditiontohumanfaces.?Therefore,ifyouareinterestedinmaking#?yourownobjectdetectorsthenreadthetrain_object_detector.pyexample#?program.?###COMPILINGTHEDLIBPYTHONINTERFACE#?Dlibcomeswithacompiledpythoninterfaceforpython2.7onMSWindows.If#?youareusinganotherpythonversionoroperatingsystemthenyouneedto#?compilethedlibpythoninterfacebeforeyoucanusethisfile.?Todothis,#?runcompile_dlib_python_module.bat.?Thisshouldworkonanyoperating#?systemsolongasyouhaveCMakeandboost-pythoninstalled.#?OnUbuntu,thiscanbedoneeasilybyrunningthecommand:#???sudoapt-getinstalllibboost-python-devcmake##?Alsonotethatthisexamplerequiresscikit-imagewhichcanbeinstalled#?viathecommand:#???pipinstall-Uscikit-image#?Ordownloadedfrom.importsys
importdlib
fromskimageimportio
detector=dlib.get_frontal_face_detector()
win=dlib.image_window()
print("a");forfinsys.argv[1:]:
print("a");
print("Processingfile:{}".format(f))
img=io.imread(f)
#The1inthesecondargumentindicatesthatweshouldupsampletheimage
#1time.?Thiswillmakeeverythingbiggerandallowustodetectmore
#faces.
dets=detector(img,1)
print("Numberoffacesdetected:{}".format(len(dets)))??fori,dinenumerate(dets):
print("Detection{}:Left:{}Top:{}Right:{}Bottom:{}".format(
i,d.left(),d.top(),d.right(),d.bottom()))
win.clear_overlay()
win.set_image(img)
win.add_overlay(dets)
dlib.hit_enter_to_continue()#Finally,ifyoureallywanttoyoucanaskthedetectortotellyouthescore#foreachdetection.?Thescoreisbiggerformoreconfidentdetections.#Also,theidxtellsyouwhichofthefacesub-detectorsmatched.?Thiscanbe#usedtobroadlyidentifyfacesindifferentorientations.if(len(sys.argv[1:])0):
img=io.imread(sys.argv[1])
dets,scores,idx=detector.run(img,1)??fori,dinenumerate(dets):
print("Detection{},score:{},face_type:{}".format(
d,scores[i],idx[i]))123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
我把源代码精简了一下,加了一下注释:face_detector0.1.py
#-*-coding:utf-8-*-importsys
importdlib
fromskimageimportio#使用dlib自带的frontal_face_detector作为我们的特征提取器detector=dlib.get_frontal_face_detector()#使用dlib提供的图片窗口win=dlib.image_window()#sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始向后依次获取图片路径forfinsys.argv[1:]:??#输出目前处理的图片地址
print("Processingfile:{}".format(f))??#使用skimage的io读取图片
img=io.imread(f)??#使用detector进行人脸检测dets为返回的结果
dets=detector(img,1)??#dets的元素个数即为脸的个数
print("Numberoffacesdetected:{}".format(len(dets)))??#使用enumerate函数遍历序列中的元素以及它们的下标
#下标i即为人脸序号
#left:人脸左边距离图片左边界的距离;right:人脸右边距离图片左边界的距离
#top:人脸上边距离图片上边界的距离;bottom:人脸下边距离图片上边界的距离
fori,dinenumerate(dets):
print("dets{}".format(d))
print("Detection{}:Left:{}Top:{}Right:{}Bottom:{}"
.format(i,d.left(),d.top(),d.right(),d.bottom()))??#也可以获取比较全面的信息,如获取人脸与detector的匹配程度
dets,scores,idx=detector.run(img,1)
fori,dinenumerate(dets):
print("Detection{},dets{},score:{},face_type:{}".format(i,d,scores[i],idx[i]))??
#绘制图片(dlib的ui库可以直接绘制dets)
win.set_image(img)
win.add_overlay(dets)??#等待点击
dlib.hit_enter_to_continue()1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
分别测试了一个人脸的和多个人脸的,以下是运行结果:
运行的时候把图片文件路径加到后面就好了
pythonface_detector0.1.py./data/3.jpg12
一张脸的:
两张脸的:
这里可以看出侧脸与detector的匹配度要比正脸小的很多
2.人脸关键点提取
人脸检测我们使用了dlib自带的人脸检测器(detector),关键点提取需要一个特征提取器(predictor),为了构建特征提取器,预训练模型必不可少。
除了自行进行训练外,还可以使用官方提供的一个模型。该模型可从dlibsourceforge库下载:
arks.dat.bz2
也可以从我的连接下载:
这个库支持68个关键点的提取,一般来说也够用了,如果需要更多的特征点就要自己去训练了。
dlib-18.17/python_examples/face_landmark_detection.py源程序:
#!/usr/bin/python#Thecontentsofthisfileareinthepublicdomain.SeeLICENSE_FOR_EXAMPLE_PROGRAMS.txt##?Thisexampleprogramshowshowtofindfrontalhumanfacesinanimageand#?estimatetheirpose.?Theposetakestheformof68landmarks.?Theseare#?pointsonthefacesuchasthecornersofthemouth,alongtheeyebrows,on#?theeyes,andsoforth.##?ThisfacedetectorismadeusingtheclassicHistogramofOriented#?Gradients(HOG)featurecombinedwithalinear
ubuntu里面怎么安装dlib
下面是在ubuntu下如何为Python安装dlib:
1.在官网dlib官网下载最新版本的dlib
由于dlib最初是一个C++库,要安装为python第三方库,
2.要下载boost将C++编译为python,同时还要下载cmake
命令:sudoapt-getinstalllibboost-python-devcmake11
3.然后切换到dlib-18.17/python_examples目录
然后运行
./compile_dlib_python_module.bat11
会生成dlib.so
4.该脚本还要加上可执行权限
这样在dlib-18.17/python_examples目录下就可以导入dlib库,但在其它地方还不能导入
将dlib.so复制到python第三库的文件夹下
sudocpdlib.so/usr/local/lib/python2.7/dist-packages/11
这样dlib库就安装好了
dlib库,怎么在python中安装
因为这个工程中用到的依赖库比较多,所以索性下载了Anaconda,它是一个python的发行版,包括了python和很多常见的软件库,和一个包管理器conda,所以安装了Anaconda后就不用再安装python了。
1、下载Anaconda的链接:
我下载的是对应python2.7version的64位Anaconda4.2.0,我的电脑系统是win64。
2、现在的问题就转换成如何用Anaconda安装第三方库的问题(Anaconda不包含dlib库),在自己电脑上运行cmd.exe,直接在默认的路径上面执行如下程序即可安装成功:
condainstall-cmenpodlib=18.18
3、执行没问题的话,结果应该如上图所示。困扰我好几天的问题终于解决了,走的太多的弯路,不过也是一个学习的过程,希望大家能有所收获吧。
谁用过python中的第三方库facerecognition
简介
该库可以通过python或者命令行即可实现人脸识别的功能。使用dlib深度学习人脸识别技术构建,在户外脸部检测数据库基准(LabeledFacesintheWild)上的准确率为99.38%。
在github上有相关的链接和API文档。
在下方为提供的一些相关源码或是文档。当前库的版本是v0.2.0,点击docs可以查看API文档,我们可以查看一些函数相关的