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

问题描述 投票:3回答:1

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

我想使用Couchbase。适用于Python的LATEST 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 | failing]。

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

你怎么处理这个? 这个“一般”问题有一个解决方法吗? 我的意思是在Python 3.5 / 3.6的系统上为Python 3.4安装库“X”的方法。

亚历山德罗

[更新] 之前的错误(缺少'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上运行?

python couchbase
1个回答
1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.