最后的Python版本错过了更新的库,如何处理这个问题?

时间:2016-12-28 15:40:19

标签: python couchbase

昨天我在PC上将Python从3.5.1更新到最新版本:3.6。 我在笔记本上做了同样的事情,从3.5.2到3.6。 很自然地更新Python。

我想使用Couchbase。 最新的Python SDK适用于3.4版本! (couchbase-2.1.3.win-AMD64的py3.4.exe)

此外,该库可能会被窃听,因为" pip install couchbase"返回此错误(在2台不同的计算机上)。

    building 'couchbase._libcouchbase' extension
    creating build\temp.win32-3.6
    creating build\temp.win32-3.6\Release
    creating build\temp.win32-3.6\Release\src
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -D_CRT_SECURE_NO_WARNINGS=1
-I..\lcb-winbuild\x86\deps\include "-Ic:\program files (x86)\python36-32\include" "-Ic:\program files (x86)\python36-32\include" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.14393.0\winrt" /Tcsrc\exceptions.c /Fobuild\temp.win32-3.6\Release\src\exceptions.obj
    exceptions.c
    c:\users\alex\appdata\local\temp\pip-build-h_bixmeo\couchbase\src\pycbc.h(25): fatal error C1083: Cannot open include file: 'libcouchbase/couchbase.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\cl.exe' failed with exit status 2

    ---------------------------------------- Command ""c:\program files (x86)\python36-32\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\alex\\AppData\\Local\\Temp\\pip-build-h_bixmeo\\couchbase\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install
--record C:\Users\alex\AppData\Local\Temp\pip-tkag3cnx-record\install-record.txt
--single-version-externally-managed --compile" failed with error code 1 in C:\Users\alex\AppData\Local\Temp\pip-build-h_bixmeo\couchbase\

... GitHub上的Python SDK(https://github.com/couchbase/couchbase-python-client)标记为[build | faileding]。

这不是我第一次拥有太新版本的Python,但还没有更新版本的库。

你是如何处理的?
这个"一般"有一个解决方法。问题吗

我的意思是一种安装库的方法" X"适用于使用Python 3.5 / 3.6的系统上的Python 3.4。

的Alessandro

[更新]
之前的错误(缺少' libcouchbase / couchbase.h')是由于缺少Couchbase C SDK。 Python SDK依赖于C SDK。 此外,pip不能安装Python SDK:

  

请注意,通过pip进行安装不适用于Windows。

相反,在PyPi页面和GitHub上,没有提到任何问题,两者都建议使用:
pip install git+git://github.com/couchbase/couchbase-python-client

此外,C SDK无法在Windows上使用pip进行安装。 :-( 文档说您可以下载适合您环境的二进制版本和

  

C SDK没有任何首选安装路径,它已启动   给你确定libcouchbase.dll的位置。

1)Win x64上Visual Studio 2015的最新版本(2.7.0)的链接已断开。我必须使用旧版本或Visual Studio 2012版本。 2)我不知道在哪里解压缩这个SDK。对此没有任何指示。我没有在Google上找到任何在Windows上安装Python DSDK的帖子/示例。

pip install在C:\ users(当前用户)\ AppData \ Local \ Temp(pip-khfdskhfsdk-build)下创建一个新的临时文件夹,所以我不知道如何指出libcouchbase.h文件(或C SDK的路径)。

我尝试使用以下来源构建SDK:

python setup.py build_ext --inplace 
    --library-dir d:\Downloads\libcouchbase-2.7.0_amd64_vc11\libcouchbase-2.7.0_amd64_vc11\lib  
    --include-dir d:\Downloads\libcouchbase-2.7.0_amd64_vc11\libcouchbase-2.7.0_amd64_vc11\include

但我有54个这样的错误: exceptions.obj:错误LNK2001:未解析的外部符号_imp__lcb_get_errtype (与VS 2015的libcouchbase 2.6.4版本相同的错误)

此时我最好的选择是尝试使用适用于Python 3.4的Windows安装程序(应包括C SDK本身),但安装程序会检查Python 3.4版本。
如何强制Python 3.4的安装程序在我的Python 3.6上运行?

1 个答案:

答案 0 :(得分:1)

我建议您使用要使用的正确Python版本创建virtualenv。即使您的系统上安装了多个版本,也可以使用旧版本的Python。我相信你可以使用-p标志创建virtualenv来指定你想要使用的Python版本。一旦你进入了virtualenv,你可以pip install你的依赖关系没有问题。

使你的virtualenv更有用的东西将是virtualenvwrapper,所以如果你有时间的话,请检查一下(虽然我不知道它是否适用于Windows。)