centos pil(centos卸载软件)
大家好,关于centos pil很多朋友都还不太明白,今天小编就来为大家分享关于centos卸载软件的知识,希望对各位有所帮助!
python 多进程和多线程配合
由于python的多线程中存在PIL锁,因此python的多线程不能利用多核,那么,由于现在的计算机是多核的,就不能充分利用计算机的多核资源。但是python中的多进程是可以跑在不同的cpu上的。因此,尝试了多进程+多线程的方式,来做一个任务。比如:从中科大的镜像源中下载多个rpm包。
#!/usr/bin/pythonimport reimport commandsimport timeimport multiprocessingimport threadingdef download_image(url):
print'*****the%s rpm begin to download*******'% url
commands.getoutput('wget%s'% url)def get_rpm_url_list(url):
commands.getoutput('wget%s'% url)
rpm_info_str= open('index.html').read()
regu_mate='(?<=<a href=")(.*?)(?=">)'
rpm_list= re.findall(regu_mate, rpm_info_str)
rpm_url_list= [url+ rpm_name for rpm_name in rpm_list] print'the count of rpm list is:', len(rpm_url_list) return rpm_url_list123456789101112131415161718192021
def multi_thread(rpm_url_list):
threads= []# url=';
# rpm_url_list= get_rpm_url_list(url)
for index in range(len(rpm_url_list)): print'rpm_url is:', rpm_url_list[index]
one_thread= threading.Thread(target=download_image, args=(rpm_url_list[index],))
threads.append(one_thread)
thread_num= 5# set threading pool, you have put 4 threads in it
while 1:
count= min(thread_num, len(threads)) print'**********count*********', count###25,25,...6707%25
res= [] for index in range(count):
x= threads.pop()
res.append(x) for thread_index in res:
thread_index.start() for j in res:
j.join() if not threads: break1234567891011121314151617181920212223242526
def multi_process(rpm_url_list):
# process num at the same time is 4
process= []
rpm_url_group_0= []
rpm_url_group_1= []
rpm_url_group_2= []
rpm_url_group_3= [] for index in range(len(rpm_url_list)): if index% 4== 0:
rpm_url_group_0.append(rpm_url_list[index]) elif index% 4== 1:
rpm_url_group_1.append(rpm_url_list[index]) elif index% 4== 2:
rpm_url_group_2.append(rpm_url_list[index]) elif index% 4== 3:
rpm_url_group_3.append(rpm_url_list[index])
rpm_url_groups= [rpm_url_group_0, rpm_url_group_1, rpm_url_group_2, rpm_url_group_3] for each_rpm_group in rpm_url_groups:
each_process= multiprocessing.Process(target= multi_thread, args=(each_rpm_group,))
process.append(each_process) for one_process in process:
one_process.start() for one_process in process:
one_process.join()# for each_url in rpm_url_list:# print'*****the%s rpm begin to download*******'%each_url## commands.getoutput('wget%s'%each_url)123456789101112131415161718192021222324252627282930313233
def main():
url=';
url_paas=';
url_paas2=';
start_time= time.time()
rpm_list= get_rpm_url_list(url_paas) print multi_process(rpm_list)# print multi_thread(rpm_list)
#print multi_process()
# print multi_thread(rpm_list)
# for index in range(len(rpm_list)):
# print'rpm_url is:', rpm_list[index]
end_time= time.time() print'the download time is:', end_time- start_timeprint main()123456789101112131415161718
代码的功能主要是这样的:
main()方法中调用get_rpm_url_list(base_url)方法,获取要下载的每个rpm包的具体的url地址。其中base_url即中科大基础的镜像源的地址,比如:,这个地址下有几十个rpm包,get_rpm_url_list方法将每个rpm包的url地址拼出来并返回。
multi_process(rpm_url_list)启动多进程方法,在该方法中,会调用多线程方法。该方法启动4个多进程,将上面方法得到的rpm包的url地址进行分组,分成4组,然后每一个组中的rpm包再最后由不同的线程去执行。从而达到了多进程+多线程的配合使用。
代码还有需要改进的地方,比如多进程启动的进程个数和rpm包的url地址分组是硬编码,这个还需要改进,毕竟,不同的机器,适合同时启动的进程个数是不同的。
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的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。