本文来自网易云社区

作者:沈高峰

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. Java I/O 工作机制(二) —— Java 的 I/O 的交互方式分析

    简介: BIO:同步阻塞式IO,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善.  ...

  2. winform datagridview 如何设置datagridview隔行变色

    如何设置隔行变色. 如图:

  3. 如何查找BAPI SD_SALESDOCUMENT_CHANGE里的字段对应的数据库存储表

    BAPI函数SD_SALESDOCUMENT_CHANGE可以让我们很方便地通过ABAP代码来修改Sales Order. 其输入参数ORDER_HEADER_IN的类型是BAPISDHD1, 里面包 ...

  4. 屏蔽firefox浏览器连接失败页面的广告

    现象 最近一直在使用firefox浏览器(版本:57.0.1(64位)),同步书签特别方便,但是最近发现当访问的一个不存在的网址时,连接失败页面竟然有广告!firefox不是号称没有广告吗? 分析 F ...

  5. 用批处理设置 wifi 热点,复制保存成 bat 以管理员身份运行即可

    @echo offtitle Wifi 热点控制echo #注意:本文件需以管理员身份运行!# :Beginecho ========================echo 请选择操作:echo 1 ...

  6. CPU体系结构

    http://blog.csdn.net/liuxc0116/article/details/17004313 1.算术逻辑单元ALU(Arithmetic Logic Unit)ALU是运算器的核心 ...

  7. Ghostbusters(并查集,最小生成树)

    Ghostbusters 时间限制: 1 Sec  内存限制: 128 MB提交: 33  解决: 7[提交] [状态] [讨论版] [命题人:admin] 题目描述 The Bureau of Ap ...

  8. Spring Security 实现手机验证码登录

    思路:参考用户名密码登录过滤器链,重写认证和授权 示例如下(该篇示例以精简为主,演示主要实现功能,全面完整版会在以后的博文中发出): 由于涉及内容较多,建议先复制到本地工程中,然后在细细研究. 1. ...

  9. GAN的调研和学习

    近期集中学习了GAN,下面记录一下调研的结果,和学习的心得,疏漏的地方,敬请指正. 本文将分为几个部分进行介绍,首先是GAN的由来,其次是GAN的发展,最后是GAN的应用. 先把最近收集的资料列举一下 ...

  10. 6.安装使用vue-quill-editor

    前言: 在vue项目中,因为涉及到使用文本编辑器, 恰恰vue-quill-editor就是一个简单实用的富文本编辑器. 参考文档:vue中使用vue-quill-editor富文本编辑器,自定义to ...