最近開發的乙個專案需要用python操作zookeeper,用到了zkpython,這裡備錄一下安裝方法。主要是linux和mac os系統上的安裝。windows上的安裝方法我沒有找到,可能是不支援(有知道的朋友可以分享一下)。
1 linux上的安裝
首先,安裝要依賴的zookeeper的c的客戶端。這裡使用的是3.4.6穩定版,參照如下命令執行即可:
cd zookeeper-3.4
.6/src/c
./configure
make
make install
然後,就可以安裝zkpython了。可以通過pip和原始碼兩種方式安裝:
1)pip安裝方法:
pip install zkpython
#解壓後進入目錄執行以下命令
python setup.py install
然後需要配置一下環境變數,如在/etc/profile檔案中加入下行:
export ld_library_path=/usr/local
/lib/
注意,如果不加環境變數,python在import zookeeper包的時候會報錯:
>>> import zookeeper
traceback (most recent call last):
file "", line
1, in
importerror: libzookeeper_mt.so.2: cannot open shared object file: no such file
ordirectory
2 mac os上的安裝
除了伺服器上安裝部署以外,我本地開發用的是mac,所以在mac上也折騰了一遍。
我先是參考類似linux上的安裝方法,在mac上進行zookeeper 3.4.6版本的c客戶端編譯安裝,但是報錯了:
in file included from ./include/zookeeper.h:34:
./include/recordio.h:76:
9:error: expected ')'
int64_t htonll(int64_t v);
^/usr/include
/sys/_endian.h:
141:25:
note: expanded from macro 'htonll'
#define htonll(x) __darwin_osswapint64(x)
^/usr/include
/libkern/_osbyteorder.h:78:
30:note: expanded from macro '__darwin_osswapint64'
(__builtin_constant_p(x) ? __darwin_osswapconstint64(x) : _osswapint64(x))
^./include/recordio.h:76:
9:note: to match this '('
/usr/include/sys/_endian.h:
141:25:
note: expanded from macro 'htonll'
#define htonll(x) __darwin_osswapint64(x)
^/usr/include
/libkern/_osbyteorder.h:78:
5:note: expanded from macro '__darwin_osswapint64'
(__builtin_constant_p(x) ? __darwin_osswapconstint64(x) : _osswapint64(x))
^in file included from src/zookeeper.c:27:
in file included from ./include/zookeeper.h:34:
./include/recordio.h:76:
9:error: conflicting types for
'__builtin_constant_p'
int64_t htonll(int64_t v);
^/usr/include
/sys/_endian.h:
141:25:
note: expanded from macro 'htonll'
#define htonll(x) __darwin_osswapint64(x)
^/usr/include
/libkern/_osbyteorder.h:78:
6:note: expanded from macro '__darwin_osswapint64'
(__builtin_constant_p(x) ? __darwin_osswapconstint64(x) : _osswapint64(x))
^./include/recordio.h:76:
9:note:
'__builtin_constant_p' is a builtin with type 'int ()'
/usr/include/sys/_endian.h:
141:25:
note: expanded from macro 'htonll'
#define htonll(x) __darwin_osswapint64(x)
^/usr/include
/libkern/_osbyteorder.h:78:
6:note: expanded from macro '__darwin_osswapint64'
(__builtin_constant_p(x) ? __darwin_osswapconstint64(x) : _osswapint64(x))
^2 errors generated.
make[1]: *** [zookeeper.lo] error
1make: *** [all] error
2
後來在網上找了下,確實有這個issue的報告:
接著,按照linux上的方法安裝zkpython即可。
關於Pycharm安裝擴充套件包的方法
關於pycharm安裝擴充套件包的方法 1.pip install 一般的pycharm都自帶有pip,如果沒有,就去下乙個pip的安裝包,將安裝包解壓在python的根目錄,搭建好python的環境,然後用python來安裝pip,基本上就可以在pycharm 的terminal介面或者命令提示介...
的安裝方法 吊頂安裝方法有哪些 吊頂安裝方法詳解
關注惠民家居頻道 如今,不少業主都是初次接觸裝修,對於裝修的流程和施工細節了解的不是很多。這其實是乙個不好的現象,當下的業主還是要掌握一些裝修知識更好。吊頂安裝方法 1 前期施工準備 施工前準備是每個裝修環節都必經的事情。首先,我們要檢查整體結構尺寸和預設圖紙是否相符合,裝置管道有無安裝清楚 吊頂安...
的安裝方法 吊頂安裝方法有哪些,吊頂安裝方法詳解
1 前期施工準備 施工前準備是每個裝修環節都必經的事情。首先,我們要檢查整體結構尺寸和預設圖紙是否相符合,裝置管道有無安裝清楚 吊頂安裝材料和工具是否齊全。2 天花基層處理 基層處理是後期施工質量的保障。我們在施工前要對天花板的頂面情況做乙個清潔處理,使其可達到施工的要求。如果有問題的話,我們可以立...