前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于libtorrent库的安装

关于libtorrent库的安装

作者头像
py3study
发布2020-01-02 17:35:10
2.4K0
发布2020-01-02 17:35:10
举报
文章被收录于专栏:python3python3

前言: 前段时间由于工作需要,在Python的web开发框架Django中使用到了libtorrent这个C++扩展库来解析链接或种子数据.特了解和尝试了libtorrent库的安装.一般情况下,为了方便Python解释器版本和依赖库的管理,python项目都是工作在虚拟环境之下.在此情况下,便出现了一个挺严重的问题:C++编写的libtorrent库如何引入到虚拟环境之中.

综述: 首先,项目中需要使用到libtorrent库;其次,如何把该库引入到Python的虚拟环境之中;最后,libtorrent的依赖环境是什么?

实现: 1.安装Boost:该函数库是libtorrent的依赖,同时也是C++的准标准库.

代码语言:javascript
复制
###首先,在Linux终端安装boost的依赖:
           sudo apt-get install mpi-default-dev
           sudo apt-get install libicu-dev
           sudo apt-get install Python-dev
           sudo apt-get install libbz2-dev
           
       ###其次,官网下载boost安装包,最好选择压缩版,速度极慢---这是一个耗时操作!!!
           下载完成,解压出来,切换到目录下:
           方式一:
               执行sudo ./bootstrap.sh ,生成b2;
               若有需要,需要使用b2编译boost之前可能需要在boost的路径下修改project-config.jam文件,
               把using python : 2.7 : /usr ;修改为python3.5;
               最后执行sudo ./b2 install,大概编译半小时,boost安装完成.
               whereis boost查看boost路径:
               其中/usr/local/include存放boost头文件,/usr/local/lib存放boost函数库,该路径在libtorrent中可能会使用到.
           --------------------------------------------------
           方式二(不推荐):
               sudo apt-get install libboost-dev(使用该种方式安装版本太低,和libtorrent最新版本不匹配) 

2.安装libtorrent:

代码语言:javascript
复制
sudo apt-get install libssl-dev
       编译libtorrent,分别执行:
       sudo ./configure --enable-python-binding --with-boost-python
       sudo make
       sudo make install
       大概耗时30分钟左右,耐心等吧.    
       --------------------------------------------------
      libtorrent安装成功后,修改profile文件,如下:
         sudo vim /etc/profile
         export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
         终端:
             source /etc/profile
             sudo reboot

3.将Ubuntu环境挂载到Python虚拟环境:

代码语言:javascript
复制
创建Python虚拟环境时使用下述语句:
       mkvirtualenv -p python3.5 apiserver --system-site-packages

4.追记:

代码语言:javascript
复制
 #### 很重要!!! ####
   4.1.若需要Python3,在编译之前请把虚拟机默认的Python2改为Python3.which可查看存在路径.重命名就好了.等编译完成后再更改回去. 
   4.2.此外,请注意版本问题:libtorrent版本1.1.8,boost版本1.65.
   4.3 安装完成后,若import libtorrent时抛出libtorrent-rasterbar.so.9: cannot open shared object file: No such file or directory的异常,请执行:
   # cat /etc/ld.so.conf
   include ld.so.conf.d/*.conf
   # echo "/usr/local/lib" >> /etc/ld.so.conf
   # ldconfig
 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档