本文来自网易云社区

作者:沈高峰

virtualenv + pip 安装python软件包是一种非常好的选择,在大部分情况下安装python软件包是不需要求助于sa的。

使用自己的一个工作副本也是写python的一个好习惯。

基本使用方式有下面几步:

  • 1.先准备好virtualenv的环境

    mkdir ~/dev
    virturalenv ~/dev
  • 2.激活一下当前的virtualenv

    source ~/dev/bin/activate
  • 3.然后就可以用pip安装软件包了,所有软件包都会安装在当前virtualenv下

    pip install XXX

当需lib依赖的时候,上面的方法就不奏效了,比如,装scrapy的时候,流程可以变成这样了。

  1. pip install scrapy

  2. 提示 xmlversion.h  No such file or directory

  3. google/bing/baidu 一通,原来是缺少libxml2-dev 包

  4. zaime上提交sa任务

  5. sa装完 libxml2-dev

  6. 继续pip install scrapy

  7. 提示  xslt-config: not found

  8. google/bing/baidu 一通,原来是缺少libxslt1-dev  包

  9. 提交sa任务

  10. 。。。

如何不找sa,安装好这些库呢,编译用的工具链sa都装好了。

virtualenv 生成的目录~/dev结构跟 / 基本一样,随便想想,在 ./configure 的时候把 --prefix 设置成~/dev应该就可以了。

于是开始折腾

先设置好环境变量,让gcc和ld能找到include 和lib 文件夹

export LD_LIBRARY_PATH=~/dev/lib
export C_INCLUDE_PATH=~/dev/include
export LIBRARY_PATH=~/dev/lib

其实,在激活virtualenv的时候,activate脚本已经修改了2个环境变量了,env一下就可以看到了

PATH=/home/shen/dev/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/gamesPS1=(dev)\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$

scrapy依赖3个软件包libxml2 libxslt libffi ,下载他们

wget  ftp://xmlsoft.org/libxml2/libxml2-2.9.2.tar.gzwget  ftp://xmlsoft.org/libxml2/libxslt-git-snapshot.tar.gzwget  ftp://sourceware.org/pub/libffi/libffi-3.2.tar.gz

依次解压,cd到相应目录下

./configure --prefix=~/dev && make && make install

有2个小坑,

  1. libxml2 默认把include文件夹放到 ~/dev/include/libxml2 下,移动目录或者修改环境变量export C_INCLUDE_PATH=~/dev/include/libxml2:$C_INCLUDE_PATH

  2. libffi 把 include 文件夹放到 ~/dev/lib/libffi-3.2/include 下,解决方法跟上面一样

之后就可以pip install scrapy了

好吧,折腾完了,发现好像也没啥收获。

其实,不想折腾也简单,提交一个sa任务,安装3个包就可以了。

再偷懒一点,直接安装python-scrapy 就可以了,最新的debian stable 下的scrapy已经是 0.24.2 了,不算太旧。不过貌似很多机器sa还没升级到最新的stable版本。

其实和配置个交叉编译环境或者装LFS有些类似,比那个更简单一些。

网易云免费体验馆,0成本体验20+款云产品!

更多网易研发、产品、运营经验分享请访问网易云社区

相关文章:
【推荐】 数据分析怎么更直观?十分钟构建数据看板
【推荐】 中秋福利 | 10本技术图书(编程语言、数据分析等)免费送

virtualenv简介以及一个比较折腾的scrapy安装方法的更多相关文章

  1. Python3 Scrapy 安装方法

    Python3 Scrapy 安装方法 (一脸辛酸泪) 写在前面 最近在学习爬虫,在熟悉了Python语言和BeautifulSoup4后打算下个爬虫框架试试. 没想到啊,这坑太深了... 看了看相关 ...

  2. Scrapy安装方法

    Scrapy安装在Python2.7环境下 1.配置环境变量: 2.安装基础软件 4个(64位系统) 安装twisted: C:\Users\Administrator>pip  install ...

  3. Python Scrapy在windows上的安装方法

    如果想要学习爬虫,肯定会了解Scrapy,但安装Scrapy的方法相对于安装其他第三方库麻烦一点. 下面总结一下在我的电脑上安装Scrapy的方法,我的电脑是Windows10,32位操作系统.有如下 ...

  4. 做一个有产品思维的研发:Scrapy安装

    每天10分钟,解决一个研发问题. 如果你想了解我在做什么,请看<做一个有产品思维的研发:课程大纲>传送门:https://www.cnblogs.com/hunttown/p/104909 ...

  5. Dubbo简介---搭建一个最简单的Demo框架

    Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本.  ...

  6. 机器学习 101 Mahout 简介 建立一个推荐引擎 使用 Mahout 实现集群 使用 Mahout 实现内容分类 结束语 下载资源

      机器学习 101 Mahout 简介 建立一个推荐引擎 使用 Mahout 实现集群 使用 Mahout 实现内容分类 结束语 下载资源 相关主题   在信息时代,公司和个人的成功越来越依赖于迅速 ...

  7. 测试框架httpclent 1.HttpClient简介及第一个demo

    httpclient就是一个模拟 发送http请求的一个工具. 首先在pom.xml文件里面添加工具类 <dependencies> <dependency> <grou ...

  8. Python爬虫框架Scrapy安装使用步骤

    一.爬虫框架Scarpy简介Scrapy 是一个快速的高层次的屏幕抓取和网页爬虫框架,爬取网站,从网站页面得到结构化的数据,它有着广泛的用途,从数据挖掘到监测和自动测试,Scrapy完全用Python ...

  9. Scrapy安装向导

    原文地址 https://doc.scrapy.org/en/latest/intro/install.html 安装Scrapy Scrapy运行在python2.7和python3.3或以上版本( ...

随机推荐

  1. HCNA配置telnet远程管理

    1.拓扑图 说明:通过配置最终能通过R5 用telnet协议登陆到R4上并将R4改名为R44 2.R4配置 <Huawei>sys Enter system view, return us ...

  2. 笨办法学Python(十一)

    习题 11: 提问 我已经出过很多打印相关的练习,让你习惯写简单的东西,但简单的东西都有点无聊,现在该跟上脚步了.我们现在要做的是把数据读到你的程序里边去.这可能对你有点难度,你可能一下子不明白,不过 ...

  3. ubuntu linux查看cpu信息

    $ cat /proc/cpuinfo CPU核心数量 $ grep -c processor /proc/cpuinfo

  4. OpenGL学习 Following the Pipeline

    Passing Data to the Vertex Shader Vertex Attributes At the start of the OpenGL pipeline,we use the i ...

  5. ARM实验5 —— 按键中断实验

    key_int按键中断实验 实验内容: 通过开发板上的按键中断控制led灯进行跑马灯并打印信息. 通过简单事例说明猎户座4412处理器的GIC中断处理的应用,设置key2按键连接的引脚为中断模式,当识 ...

  6. 【转】Android BroadcastReceiver介绍

    本文主要介绍BroadcastReceiver的概念.使用.生命周期.安全性.分类.特殊的BroadcastReceiver(本地.粘性.有序.粘性有序广播).示例代码见BroadcastReceiv ...

  7. ubuntu 报错E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unav E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process us

    1.配置xshell,查看虚拟机中ubuntu中网络ip ifconfig 报错 Command 'ifconfig' not found, but can be installed with: su ...

  8. P3740 贴海报

    P3740 贴海报 很显然,这个题是让我们维护一个区间的信息 可以考虑线段树.可是这个题,正向思维可能并不可做. 所以我们考虑逆向思维. 打个比方,你是一名保洁人员.面对已经粘在墙上的,大大小小的广告 ...

  9. HttpWebRequest类之基本定义

    HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择.它们支持一系列有用的属性.这两个类位 于System.Net命名空间,默认情况下这个类对于控制台程 ...

  10. 7、SpringBoot+Mybatis整合------PageHelper简单分页

    开发工具:STS 代码下载链接:https://github.com/theIndoorTrain/SpringBoot_Mybatis/tree/1d30d2a573ce6784149a28af9b ...