zoukankan      html  css  js  c++  java
  • virtualenv简介以及一个比较折腾的scrapy安装方法

    本文来自网易云社区


    作者:沈高峰

    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: wa]${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+款云产品!

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


    相关文章:
    【推荐】 移动端推广APP防作弊机制之依我见
    【推荐】 如何实现360度的手游安全防护?网易云易盾专家分享最新实践

  • 相关阅读:
    unity导弹算法 预计目标点
    unity编辑器xml数据库插件
    简单Unity时间架构设计(克洛诺斯之匙)
    Unity武器系统的优化
    暴风魔镜安卓手柄输入检测接口
    基于unity的飞行模拟设计
    C#打印日志的小技巧
    启示录
    关于击杀与辅助奖励的方案
    unity抛物线,平均速度下的运动轨迹
  • 原文地址:https://www.cnblogs.com/163yun/p/9672699.html
Copyright © 2011-2022 走看看