如何在linux-64上安装Anaconda Python 3.5的图形工具?

时间:2016-07-29 08:11:47

标签: python python-3.x ubuntu-14.04 anaconda graph-tool

我正在尝试在Ubuntu 14.04(x64)上为Anaconda Python 3.5安装图形工具,但事实证明这是一个真正的技巧。

我尝试了this approach,但遇到了问题:

The following specifications were found to be in conflict:
  - graph-tool
Use "conda info <package>" to see the dependencies for each package.

挖掘依赖关系导致了gobject-introspection的死胡同

所以我尝试了另一种方法:

使用conda安装了boost,然后尝试./configure,make和make install graph-tool ......这就是./configure:

===========================
Using python version: 3.5.2
===========================
checking for boostlib >= 1.54.0... yes
checking whether the Boost::Python library is available... yes
checking whether boost_python is the correct library... no
checking whether boost_python-py27 is the correct library... no
checking whether boost_python-py27 is the correct library... (cached) no
checking whether boost_python-py27 is the correct library... (cached) no
checking whether boost_python-py35 is the correct library... yes
checking whether the Boost::IOStreams library is available... yes
configure: error: Could not link against boost_python-py35 !

我知道这是关于./configure命令的环境变量和conda将libboost安装到Anaconda奇怪的地方,我只是不知道该怎么做,而我的Google-fu让我失望了。所以这是另一个死胡同。

最近在linux-64上安装图形工具的人能不能给我一个演练?这是一个在VMWare Workstation 10.0.7中运行的新VM

2 个答案:

答案 0 :(得分:1)

对于遇到类似问题的人,请尝试先使用以下方式更改conda频道的顺序:

  

$ conda config --add channels ostrokach

     

$ conda config --add channels defaults

     

$ conda config --add channels conda-forge

然后:

  

$ conda install graph-tool

答案 1 :(得分:1)

为Anaconda Python 3.5,Ubuntu 14.04安装graph-tool 2.26。

注意:在我写这篇文章的时候,ostrokach频道conda install of graph-tool只在版本2.18。

这是我用来安装图形工具2.26的docker文件。可能有一种更清洁的方式,但到目前为止,这是我唯一能够拼凑起来实际工作的东西。

注意:如果您不熟悉docker文件,并且只想从终端进行安装,请忽略第一行(从FROM开始),忽略每次出现的单词RUN,以及您是什么left with是一系列要在终端中执行的命令。

FROM [your 14.04 base image]

RUN conda upgrade -y conda
RUN conda upgrade -y matplotlib

RUN \
add-apt-repository -y ppa:ubuntu-toolchain-r/test && \
apt-get update -y && \
apt-get install -y gcc-5 g++-5 && \
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5

RUN wget https://github.com/CGAL/cgal/archive/releases/CGAL-4.10.2.tar.gz && \
tar xzf CGAL-4.10.2.tar.gz && \
cd cgal-releases-CGAL-4.10.2/ && \
cmake . && \
make && \
make install

RUN cd /tmp && \
# note: master branch of repo appears relatively stable, has not been updated since 2016
git clone https://github.com/sparsehash/sparsehash.git && \
cd sparsehash && \
./configure && \
make && \
make install

RUN apt-get update
RUN apt-get install -y build-essential g++ python-dev autotools-dev libicu-dev build-essential libbz2-dev libboost-all-dev
RUN apt-get install -y autogen autoconf libtool shtool

# install boost
RUN cd /tmp && \
wget https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.gz && \
tar xzvf boost_1_66_0.tar.gz && \
cd boost_1_66_0 && \
sudo ./bootstrap.sh --prefix=/usr/local && \
sudo ./b2 && \
sudo ./b2 install

# install newer cairo
RUN cd /tmp && \
wget https://cairographics.org/releases/cairo-1.14.12.tar.xz && \
tar xf cairo-1.14.12.tar.xz && \
cd cairo-1.14.12 && \
./configure && \
make && \
sudo make install

RUN cd /tmp && \
wget https://download.gnome.org/sources/libsigc++/2.99/libsigc++-2.99.10.tar.xz && \
tar xf libsigc++-2.99.10.tar.xz && \
cd libsigc++-2.99.10 && \
./configure && \
make && \
sudo make install && \
sudo cp ./sigc++config.h /usr/local/include/sigc++-3.0/sigc++config.h

RUN cd /tmp && \
wget https://www.cairographics.org/releases/cairomm-1.15.5.tar.gz && \
tar xf cairomm-1.15.5.tar.gz && \
cd cairomm-1.15.5 && \
./configure && \
make && \
sudo make install && \
sudo cp ./cairommconfig.h /usr/local/include/cairomm-1.16/cairomm/cairommconfig.h

RUN conda install -y -c conda-forge boost pycairo
RUN conda install -y -c numba numba=0.36.2

RUN conda install -y -c libboost py-boost && \
conda update -y cffi dbus expat pycairo pandas scipy numpy harfbuzz setuptools boost

RUN apt-get install -y apt-file dbus libdbus-1-dev && \
apt-file update

RUN apt-get install -y graphviz
RUN conda install -y -c conda-forge python-graphviz

RUN sudo apt-get install -y valgrind

RUN apt-get install -y libcgal-dev libcairomm-1.0 libcairomm-1.0-dev libcairo2-dev python-cairo-dev

RUN conda install -y -c conda-forge pygobject
RUN conda install -y -c ostrokach gtk

RUN cd /tmp && \
wget https://git.skewed.de/count0/graph-tool/repository/release-2.26/archive.tar.bz2 && \
bunzip2 archive.tar.bz2 && \
tar -xf archive.tar && \
cd graph-tool-release-2.26-b89e6b4e8c5dba675997d6f245b301292a5f3c59 && \
# Fix problematic parts of the graph-tool configure.ac file
sed -i 's/PKG_INSTALLDIR/#PKG_INSTALLDIR/' ./configure.ac && \
sed -i 's/AM_PATH_PYTHON(\[2\.7\])/AM_PATH_PYTHON(\[3\.5\])/' ./configure.ac && \
sed -i 's/\${PYTHON}/\/usr\/local\/anaconda3\/bin\/python/' ./configure.ac && \
sed -i '$a ACLOCAL_AMFLAGS = -I m4' ./Makefile.am && \
sudo ./autogen.sh && \
sudo ./configure CPPFLAGS="-I/usr/local/include -I/usr/local/anaconda3/pkgs/pycairo-1.15.4-py35h1b9232e_1/include -I/usr/local/include/cairo -I/usr/local/include/sigc++-3.0 -I/usr/include/freetype2" \
    LDFLAGS="-L/usr/local/include -L/usr/local/lib/cairo -L/usr/local/include/sigc++-3.0 -L/usr/include/freetype2" \
    PYTHON="/usr/local/anaconda3/bin/python" \
    PYTHON_VERSION=3.5 \
sudo make && \
sudo make install

警告:make图表工具可能需要几个小时才需要&gt; 7 GB的内存。