[tips]PythonMagick的安装
2007-12-06 00:00
417 查看
PythonMagick是ImageMagick的python开发包。
下载:
PythonMagick-0.7.tar.gz
安装之前确认是否安装了下列库或包:
boost
boost-python
python 2.5
Magick++ (>= 6.2)
还要确认是否安装了下列工具:
pkg-config
libtool
make
然后执行下列命令进行安装:
$ tar -xzf PythonMagick-0.7.tar.gz
$ cd PythonMagick-0.7
$ ./configure
$ make
$ make install
make install的时候,必须具备root权限,看起来似乎很顺利,标准的安装过程,但是实际上一开始就出问题了
问题一: ./configure的时候找不到ImageMagick,实际上我是安装了的,关于ImageMagick的安装请参看我的博文:
[tips]ImageMagick软件包简介及安装
,这个时候进入当前登录用户的home目录,打开.bash_profile文件,加入以下几行:
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
其中/usr/local/lib/pkgconfig为ImageMagick的包描述文件所在目录
保存并退出到命令行后,执行下列命令使之生效:
$ source .bash_profile
做完上述配置后,./configure是没有问题了。
问题二: make的时候会报 no matching function for call to 'registry_lookup(const volatile void (*)())' 的错误,这个问题比较麻烦,在google上找了很久,说是boost-python不再支持void*的原因,经过自己的一些尝试,才找到解决办法:
1 首先把下列提及文件中的void* or void * 全部替换为unsigned char* or unsigned char *,注意在替换的时候,要符合c++的语法:
PythonMagick-0.7/pythonmagick_src/_Blob.cpp _Image.cpp
/usr/local/include/Magick++/Blob.h Image.h
其中/usr/local/include/Magick++为ImageMagick安装后的头文件,可能会有所不同;
2 进入PythonMagick-0.7/pyste_src,找到Blob.pyste、Image.pyste,更改文件中的路径为正群的安装路径;
3 进入PythonMagick-0.7/helpers_src,找到Blob.cpp,打开,将其内容替换为:
下载:
PythonMagick-0.7.tar.gz
安装之前确认是否安装了下列库或包:
boost
boost-python
python 2.5
Magick++ (>= 6.2)
还要确认是否安装了下列工具:
pkg-config
libtool
make
然后执行下列命令进行安装:
$ tar -xzf PythonMagick-0.7.tar.gz
$ cd PythonMagick-0.7
$ ./configure
$ make
$ make install
make install的时候,必须具备root权限,看起来似乎很顺利,标准的安装过程,但是实际上一开始就出问题了
问题一: ./configure的时候找不到ImageMagick,实际上我是安装了的,关于ImageMagick的安装请参看我的博文:
[tips]ImageMagick软件包简介及安装
,这个时候进入当前登录用户的home目录,打开.bash_profile文件,加入以下几行:
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
其中/usr/local/lib/pkgconfig为ImageMagick的包描述文件所在目录
保存并退出到命令行后,执行下列命令使之生效:
$ source .bash_profile
做完上述配置后,./configure是没有问题了。
问题二: make的时候会报 no matching function for call to 'registry_lookup(const volatile void (*)())' 的错误,这个问题比较麻烦,在google上找了很久,说是boost-python不再支持void*的原因,经过自己的一些尝试,才找到解决办法:
1 首先把下列提及文件中的void* or void * 全部替换为unsigned char* or unsigned char *,注意在替换的时候,要符合c++的语法:
PythonMagick-0.7/pythonmagick_src/_Blob.cpp _Image.cpp
/usr/local/include/Magick++/Blob.h Image.h
其中/usr/local/include/Magick++为ImageMagick安装后的头文件,可能会有所不同;
2 进入PythonMagick-0.7/pyste_src,找到Blob.pyste、Image.pyste,更改文件中的路径为正群的安装路径;
3 进入PythonMagick-0.7/helpers_src,找到Blob.cpp,打开,将其内容替换为:
#include "Blob.h" void update_wrapper(Magick::Blob& blob, const std::string& data) { blob.update((unsigned char*)(const_cast<char*>(data.c_str())),data.size()); } std::string get_blob_data(const Magick::Blob& blob) { const unsigned char* data = static_cast<const unsigned char*>(blob.data()); size_t length = blob.length(); return std::string(data,data+length); }做完以上设置后,按照安装步骤走,就搞定了,如果编译过程中出现问题,就再仔细检查1中所提到的文件中的void *指针是否替换完,因为有几个地方,void和*之间会有很多空格,要注意检查。
相关文章推荐
- 【Python】图片处理之“PythonMagick”库简易安装笔记
- 如何安装PythonMagick
- 安装PythonMagick和pythonmagickwand 步骤
- [Tips]使用 pip v1.5 安装 MySQL Connector/Python
- Tips-Anaconda与Python共存情况下,包的安装及调用语言冲突问题
- 【python-tips】非root权限安装pip、其他包
- Python2.7中Pip --- IPython与IPython noteBooks(jupyter) 安装入门
- win10安装tensorflow1.5+CUDA9.0+cuDNN7.1+anaconda3+python3.6.3
- centos 安装python2.7
- 【解决方案】Basemap安装出现的错误(Python)
- Linux环境下Python的安装过程
- centos 安装python3.5.2
- centos上安装python2.7.13
- Python For Kids学习笔记01:安装与配置python
- windows下安装python3.6
- windows下安装python包pip时出错DEPRECATION解决
- python安装软件出现错误 fatal error: 'libxml/xmlversion.h' file not found
- Python学习笔记(二)Python的安装
- Python学习笔记(一)------安装,常识普及
- 廖雪峰Python教程 学习笔记2 安装Python