2012-06-05 38 views
0

Mac OS Lion上的pylibmc存在問題。Mac OS Lion上的pylibmc錯誤

libmemcached - 1.0.4

pylibmc - 1.2.3

$ python 
Python 2.7.1 (r271:86832, Jun 25 2011, 05:09:01) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pylibmc 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/Library/Python/2.7/site-packages/pylibmc/__init__.py", line 70, in <module> 
    import _pylibmc 
ImportError: dlopen(/Library/Python/2.7/site-packages/_pylibmc.so, 2): Symbol not found: _memcached_add 
    Referenced from: /Library/Python/2.7/site-packages/_pylibmc.so 
    Expected in: flat namespace 
in /Library/Python/2.7/site-packages/_pylibmc.so 

但它使用sudo的作品!

$ sudo python 
Password: 
Python 2.7.1 (r271:86832, Jun 25 2011, 05:09:01) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import pylibmc 
>>> 

任何想法?

回答

2

以32位模式安裝解決了這個問題。

  1. 你需要安裝在32位模式

    brew install --universal libevent 
    
  2. 下一頁libevent的下載libmemcached源(版本1.0.8對我的作品)和32位拱配置力:

    ./configure --build=i386-apple-darwin11.4.2 "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32" 
    make 
    sudo make install 
    

    其中11.4.2是內核

  3. 再版本安裝pylibmc

    sudo pip uninstall pylibmc 
    sudo pip install pylibmc 
    
  4. 現在,它的工作原理

    $ python -c 'import pylibmc' 
    $ 
    
+0

我試過,但它在'libmemcached'的'make'步驟失敗。然後我嘗試'brew install libmemcached'並且它可以工作。 – realhu