我可以让pylibmc与Python3.2一起工作吗?
我安装了一些依赖项:我可以让pylibmc与Python3.2一起工作吗?,python,python-3.x,memcached,Python,Python 3.x,Memcached,我安装了一些依赖项: sudo apt-get install python3.2-dev sudo apt-get install libmemcached-dev 并试图: pip install pylibmc 在使用Python3.2的virtualenv中 但有一点: _pylibmcmodule.c:77:9: error: ‘PylibMC_Client’ has no member named ‘ob_type’ _pylibmcmodule.c:1812:39: error
sudo apt-get install python3.2-dev
sudo apt-get install libmemcached-dev
并试图:
pip install pylibmc
在使用Python3.2的virtualenv中
但有一点:
_pylibmcmodule.c:77:9: error: ‘PylibMC_Client’ has no member named ‘ob_type’
_pylibmcmodule.c:1812:39: error: ‘PyInt_Type’ undeclared (first use in this function)
_pylibmcmodule.c:1841:53: error: ‘PylibMC_Client’ has no member named ‘ob_type’
error: command 'gcc' failed with exit status 1
我怎样才能解决这个问题?(它与Python2.7配合使用)编辑:它看起来像是在“master”中工作,但尚未发布 我写了一些python 3支持- 我修改了测试,但仍有一些失败:
1. "test_touch" (test_client.py)
对于我来说,Python2和Python3都失败了。即使对于未更改的代码也是如此。(看起来像是我的memcache问题-不知道)
仅在Python3中失败。Python 2还可以
> rv, cas = mc.gets(k)
E ValueError: gets without cas behavior
这可能是由于使用pickle
保存整数对象造成的责任代码为:
} else if (PyLong_Check(value_obj)) {
serialized->flags |= PYLIBMC_FLAG_LONG;
PyObject* tmp = PyNumber_Long(value_obj);
store_val = PyObject_Bytes(tmp);
Py_DECREF(tmp);
我不能在Python3中使用它,因为PyObject\u字节
:
我运行如下测试:
py.test tests/test_client.py
我想你需要开始移植,看看@MartijnPieters,如果你想测试它=)非常酷!下一步是使测试同时在Python2和Python3上工作,这样您就可以根据现有的测试套件验证您的工作了!
} else if (PyLong_Check(value_obj)) {
serialized->flags |= PYLIBMC_FLAG_LONG;
PyObject* tmp = PyNumber_Long(value_obj);
store_val = PyObject_Bytes(tmp);
Py_DECREF(tmp);
> ok_(mc.set(k, 0))
E TypeError: 'int' object is not iterable
py.test tests/test_client.py