2016-12-28 5 views
3

어제 파이썬을 3.5.1에서 최신 버전 3.6으로 업데이트했습니다. 나는 노트북에서 3.5.2에서 3.6까지 같은 작업을했다. 때때로 파이썬을 업데이트하는 것이 자연 스럽습니다.마지막 파이썬 버전이 업데이트 된 라이브러리를 놓친 경우 어떻게 처리해야합니까?

Couchbase를 사용하고 싶습니다. Python 용 LATEST SDK는 3.4 버전 용입니다. "카우치베이스 주식회사를 설치 핍"(이 다른 시스템에)이 오류를 반환하기 때문에
(카우치베이스 주식회사 - 2.1.3.win-AMD64-py3.4.exe)

은 또한이 라이브러리는 도청 할 수있다.

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의에 파이썬 SDK ( https://github.com/couchbase/couchbase-python-client는) | 실패 구축]으로 표시됩니다.

아직 파이썬이 너무 새 버전이지만 처음으로 라이브러리 X의 업데이트 된 버전이 없습니다.

어떻게 처리합니까?
"일반적인"문제를 해결할 수있는 방법이 있습니까?

파이썬 3.5/3.6이 설치된 시스템에 파이썬 3.4 용 라이브러리 "X"를 설치하는 방법입니다.

알레산드로
이전 오류 (누락 'libcouchbase/couchbase.h')가 누락 카우치베이스 주식회사 C SDK 때문이다 [업데이트]

. Python SDK는 C SDK에 종속되어 있습니다. 또한 Python SDK를 pip로 설치할 수 없습니다.

Windows에서는 pip를 통한 설치가 작동하지 않습니다. 대신이 문제를 언급하지 않고 모두 사용 제언 PyPi 페이지 및 GitHub의에

는 : pip install git+git://github.com/couchbase/couchbase-python-client


는 또한 C SDK는 Windows에서 핍으로 설치되지 않습니다. :-( 문서는 사용자 환경의 바이너리 버전을 다운로드 할 수 있습니다 및

는 C SDK는 모든 기본 설치 경로가없는, 그것은 어디 libcouchbase.dll을 배치 할 위치를 결정하기까지 당신에게 것을 말한다

1) Win x64에서 Visual Studio 2015의 최신 버전 (2.7.0) 링크가 끊어졌습니다. 이전 버전이나 Visual Studio 2012 버전을 사용해야합니다. 2)이 SDK의 압축을 푸는 위치를 모르겠습니다. 이것을위한 지시가 전혀 없습니다. Windows에서 Python DSDK를 설치하기위한 Google의 게시물/예를 찾지 못했습니다.)

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 합니다 (libcouchbase 2.6과 같은 오류를. 4 버전의 VS2015)

이 시점에서 최선의 선택은 Python 3.4 용 Windows 설치 프로그램 (C SDK 자체를 포함해야 함)을 사용하려고하지만 설치 프로그램은 Python 3.4 버전을 확인합니다.
파이썬 3.4를 설치 프로그램이 파이썬 3.6에서 실행하도록하려면 어떻게해야합니까?

+2

대부분의 코드를 작동 파이썬 3.4에서도 _should_ 작동합니다. 마지막으로 python을 설치할 때 버그가'couchbase-python-client'에 도입되었을 가능성이 높습니다. 3.4. 이것은 또한 당신이 보는 "[build | failing]"을 설명 할 것입니다. 가능한 경우, 당신은 python3.4에서 일하고있는 couchbase 클라이언트의 버전을보고,'pip'를 사용하여 그 버전을 특별히 설치하려고합니다 ... ('pip install couchbase == ') – mgilson

+0

또한 MongoDB는 드라이버 만 가지고 있습니다. Python 3.4에서는'pip install pymongo' (Python 3.6)가 잘 동작합니다. 아마 Couchabse Python SDK의 해당 버전이 실제로 작동하지 않습니다. –

답변

1

사용하고자하는 올바른 Python 버전으로 virtualenv을 만드는 것이 좋습니다. 이렇게하면 시스템에 여러 버전이 설치되어 있어도 Python의 이전 버전을 사용하는 프로젝트를 가질 수 있습니다. -p 플래그를 사용하여 virtualenv를 만들면 사용할 Python 버전을 지정할 수 있다고 생각합니다. 해당 virtualenv에 들어갔을 때 pip install 종속성을 사용할 수 있습니다. 당신이 virtualenvwrapper, 그래서 당신은 시간이 너무 경우 그 체크 아웃 것이기 VIRTUALENV 좀 더 사용할 수 있도록합니다

뭔가 (이 윈도우에서 작동하는지 모르겠어요하지만.)

+0

이 문제를 피할 수 있습니까? 나는 virtualenv는 신경 쓰지 않지만 파이썬 Couchbase에 연결할 수 있도록 내 전체 프로젝트 2 버전을 되돌려 놓고 싶지는 않다. (위험성 비 호환성). 다른 방법이 있는가? –

+1

couchbase 쿼리를 만들기 위해 쉘을 사용할 수있는 별도의 python 3.4 프로그램을 작성할 수 있습니다. 내가 당신의 입장에 있다면 클라이언트를 3.6으로 포팅하거나 내 프로젝트를 위해 couchbase 또는 python 중 하나를 사용하지 않을 것입니다. – 2rs2ts