error: command 'gcc' failed with exit status 1

2017-5-1 杜世伟 Python

错误:error: command 'gcc' failed with exit status 1

在 centons 使用pip安装Python模块出现error: command 'gcc' failed with exit status 1 ,明明装了gcc的,怎么会不行呢,然后发觉是failed不是not found,这说明这个错误个gcc没多大关系,应该是缺少某些功能模块,然后谷歌了一下,先后安装了python-devel,libffi-devel后还是不行,最后发觉要安装openssl-devel才行

可如下命令行安装:

yum install gcc libffi-devel python-devel openssl-devel

阅读全文>>

标签: linux gcc python pip

评论(0) 浏览(17929)

ImportErrorNomodulenamedCrypto.Cipher问题解决方案

2017-4-24 杜世伟 Linux

今天在安装mycli命令行工具,运行mycli --help的时候出现以下问题
from Crypto import Random 问题

from Crypto.Cipher import AES 问题

在导入以上两条语句中,出现问题,显示出现无法找到crypto包,按照提示,
pip install Crypto 
pip install Crypto.Cipher
加入crypto包之后,然后还是出现这个问题。

问题解决参考以下链接:

http://stackoverflow.com/questions/19623267/importerror-no-module-named-crypto-cipher

阅读全文>>

标签: linux pip mycli crypto pycrypto

评论(0) 浏览(10200)

go 简介与安装

2017-4-24 杜世伟 go

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。

Go 语言特色
简洁、快速、安全
并行、有趣、开源
内存管理、v数组安全、编译迅速
Go 语言用途
Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。

对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。

各种版本的下载地址:
https://golang.org/dl/

Go环境安装:
1、wget方式下载并解压
wget https://dl.google.com/go/go1.9.3.linux-amd64.tar.gz
sudo tar -xzf go1.9.3.linux-amd64.tar.gz -C /usr/local/lib
2、添加配置

阅读全文>>

标签: linux centos go export

评论(0) 浏览(5912)

Python四种逐行读取文件内容的方法

2017-3-27 杜世伟 Python

下面是四种Python逐行读取文件内容的方法, 并分析了各种方法的优缺点及应用场景,以下代码在python3中测试通过, python2中运行部分代码已注释,稍加修改即可。
方法一:readline函数

#-*- coding: UTF-8 -*- 
f = open("./code.txt")             # 返回一个文件对象  
line = f.readline()             # 调用文件的 readline()方法  
while line:  
    #print line,                 # 在 Python 2中,后面跟 ',' 将忽略换行符  
    print(line, end = '')       # 在 Python 3中使用
    line = f.readline()
f.close()
优点:节省内存,不需要一次性把文件内容放入内存中
缺点:速度相对较慢

阅读全文>>

标签: python open fileinput readline readlines

评论(0) 浏览(14432)

Python 快速实现 FTP 服务器

2017-2-16 杜世伟 Python

有时当你想快速搭建一个 FTP 服务器来临时实现文件上传下载时,这是特别有用的。我们这里利用 Python 的 Pyftpdlib 模块可以快速的实现一个 FTP 服务器的功能。

首先安装 Pyftpdlib 模块

$ sudo pip install pyftpdlib
The directory '/Users/xiaodu/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/Users/xiaodu/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting pyftpdlib
Installing collected packages: pyftpdlib
Successfully installed pyftpdlib-1.5.3

阅读全文>>

标签: python ftp pyftpdlib

评论(0) 浏览(11958)

通过python快速搭建http服务

2017-2-15 杜世伟 Python

python -m SimpleHTTPServer 快速搭建http服务

有时你需临时搭建一个简单的 Web Server,但你又不想去安装 Apache、Nginx 等这类功能较复杂的 HTTP 服务程序时。这时可以使用 Python 内建的 SimpleHTTPServer 模块快速搭建一个简单的 HTTP 服务器。

使用python -m SimpleHTTPServer 模块可以把你指定目录中的文件和文件夹以一个简单的 Web 页面的方式展示出来。

如我想把目录/Users/xiaodu/python/test目录下的内容通过web共享出来,目录内容如下:

阅读全文>>

标签: http python SimpleHTTPServer

评论(0) 浏览(18131)

Python之Requests模块使用详解

2017-1-17 杜世伟 Python

     Requests模块是一个用于网络访问的模块,其实类似的模块有很多,比如urllib,urllib2,httplib,httplib2,他们基本都提供相似的功能,那为什么Requests模块就能够脱引而出呢?可以打开它的官网看一下,是一个“人类“用的http模块。那么,它究竟怎样的人性化呢?相信如果你之前用过urllib之类的模块的话,对比下就会发现它确实很人性化。
一、导入

下载完成后,导入模块很简单,代码如下:

import requests
二、请求url

这里我们列出最常见的发送get或者post请求的语法。
1.发送无参数的get请求:
r=requests.get("http://pythontab.com/justTest")
现在,我们得到了一个响应对象r,我们可以利用这个对象得到我们想要的任何信息。
上面的例子中,get请求没有任何参数,那如果请求需要参数怎么办呢?


阅读全文>>

标签: linux python request

评论(0) 浏览(14018)

python setuptools 安装

2017-1-15 杜世伟 Python

python下的setuptools带有一个easy_install的工具,在安装python的每三方模块、工具时很有用,也很方便。

安装setuptools前先安装pip,

请参考:linux下pip的安装步骤及使用详解


1. 下载:
在它的官网可以下载到安装包:
https://pypi.python.org/pypi/setuptools

页面最下面的是它的安装链接,如:
$wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-12.0.3.tar.gz#md5=f07e4b0f4c1c9368fcd980d888b29a65

tar -zxvf setuptools-12.0.3.tar.gz
cd setuptools-12.0.3
python setup.py install

如果在安装过程中出现以下错误:
Installed /usr/local/python2.7.3/lib/python2.7/site-packages/supervisor-4.0.0_dev-py2.7.egg
Processing dependencies for supervisor==4.0.0-dev
Searching for meld3>=1.0.0
Reading https://pypi.python.org/simple/meld3/
Download error on https://pypi.python.org/simple/meld3/: [Errno 1] _ssl.c:504: error:14090086:SSL 

阅读全文>>

标签: python pip setuptools

评论(0) 浏览(14116)

module' object has no attribute 'OP_NO_TLSv1_1

2017-1-9 杜世伟 Python

scrapy startproject pachong
Traceback (most recent call last):
  File "/bin/scrapy", line 9, in <module>
    load_entry_point('Scrapy==1.5.0', 'console_scripts', 'scrapy')()
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 339, in load_entry_point
    return False    # egg isn't macosx or legacy darwin
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2470, in load_entry_point
    return self.__dep_map
  File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2184, in load
    part = replace(part,part)
  File "/usr/lib/python2.7/site-packages/scrapy/cmdline.py", line 9, in <module>
    from scrapy.crawler import CrawlerProcess
  File "/usr/lib/python2.7/site-packages/scrapy/crawler.py", line 7, in <module>
    from twisted.internet import reactor, defer
  File "/usr/lib64/python2.7/site-packages/twisted/internet/reactor.py", line 38, in <module>
    from twisted.internet import default
  File "/usr/lib64/python2.7/site-packages/twisted/internet/default.py", line 56, in <module>
    install = _getInstallFunction(platform)
  File "/usr/lib64/python2.7/site-packages/twisted/internet/default.py", line 44, in _getInstallFunction
    from twisted.internet.epollreactor import install
  File "/usr/lib64/python2.7/site-packages/twisted/internet/epollreactor.py", line 24, in <module>

阅读全文>>

标签: python pip scrapy twisted

评论(0) 浏览(12025)

大型网站技术架构-入门梳理

2017-1-8 杜世伟 架构

罗列了大型网站架构涉及到的概念,附上了简单说明

前言

  • 本文是对《大型网站架构设计》(李智慧 著)一书的梳理,类似文字版的“思维导图”
  • 全文主要围绕“性能,可用性,伸缩性,扩展性,安全”这五个要素
  • 性能,可用性,伸缩性这几个要素基本都涉及到应用服务器,缓存服务器,存储服务器这几个方面

概述

  • 三个纬度:演化、模式、要素
  • 五个要素: 性能,可用性,伸缩性,扩展性,安全

演化历程

图例可参考 大型网站架构演化历程

  1. 初始阶段的网站架构:一台服务器,上面同时拥有应用程序,数据库,文件,等所有资源。例如 LAMP 架构
  2. 应用和数据服务分离:三台服务器(硬件资源各不相同),分别是应用服务器,文件服务器和数据库服务器
  3. 使用缓存改善网站性能:分为两种,缓存在应用服务器上的本地缓存和缓存在专门的分布式缓存服务器的远程缓存
  4. 使用应用服务器集群改善网站并发处理能力:通过负载均衡调度服务器来将访问请求分发到应用服务器集群中的任何一台机器
  5. 数据库读写分离:数据库采用主从热备,应用服务器在写数据时访问主数据库,主数据库通过主从复制机制将数据更新同步到从数据库。应用服务器使用专门的数据访问模块从而对应用透明
  6. 使用反向代理和 CDN 加速网站响应:这两者基本原理都是缓存。反向代理部署在网站的中心机房,CDN 部署在网络提供商的机房
  7. 使用分布式文件系统和分布式数据库系统:数据库拆分的最后手段,更常用的是业务分库
  8. 使用 NoSQL 和搜索引擎:对可伸缩的分布式有更好的支持
  9. 业务拆分:将整个网站业务拆分成不同的应用,每个应用独立部署维护,应用之间通过超链接建立联系/消息队列进行数据分发/访问同一数据存储系统
  10. 分布式服务:公共业务提取出来独立部署

阅读全文>>

标签: haproxy lvs web tcp

评论(0) 浏览(2373)

Powered by emlog 沪ICP备2023034538号-1