欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python安裝cxOracle避坑總結(jié)不要直接pip install

 更新時(shí)間:2021年10月27日 15:14:42   作者:longxj04  
這篇文章主要為大家介紹了python安裝cx_Oracle是遇到的一些問(wèn)題的解決辦法的總結(jié),來(lái)幫大家避避坑有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進(jìn)步

轉(zhuǎn)自http://rookiefly.cn/detail/69

作死小能手這兩天閑著沒(méi)事,把自己電腦重裝了,然而重裝過(guò)后配置開(kāi)發(fā)環(huán)境踩了一些坑,這里把安裝cx_oracle遇到的坑記錄下來(lái),方便以后查看。

使用pip安裝出現(xiàn)的問(wèn)題

命令:

pip install cx_oracle

錯(cuò)誤:

Unable to find vcvarsall.bat

我用了最簡(jiǎn)單粗暴的方法:由于我的操作系統(tǒng)是win10 64位,所以我安裝了vs2015,很遺憾報(bào)的錯(cuò)誤更多了!由于以前我沒(méi)用pip安裝都可以成功安裝,所以我舍棄了這種安裝方式

到官網(wǎng)下載相應(yīng)版本的驅(qū)動(dòng)進(jìn)行安裝

我的操作系統(tǒng)為64位,Python版本為3.5.2,所以我到https://pypi.python.org/pypi/cx_Oracle/5.2.1 下載了對(duì)應(yīng)的版本:cx_Oracle-5.2.1-12c.win-amd64-py3.5

1.安裝過(guò)程中的錯(cuò)誤:

Python version 3.5 required, which was not found in the registry

解決方法: 網(wǎng)上看了很多種解決方法,很多是說(shuō)的修改注冊(cè)表,這種方式我試了,但是沒(méi)成功,最后找到這個(gè)方法,成功了。運(yùn)行下面這個(gè)腳本,不管是Python3.x還是2.x都可以加入注冊(cè)表中:

# 解決windows平臺(tái)下找不到python的注冊(cè)信息問(wèn)題 (安裝oracle驅(qū)動(dòng)會(huì)用)
from winreg import *
import sys
# tweak as necessary
version = sys.version[:3]
installpath = sys.prefix
regpath = "SOFTWARE\Python\Pythoncore\{0}\".format(version)
installkey = "InstallPath"
pythonkey = "PythonPath"
pythonpath = "{0};{1}\Lib\;{2}\DLLs\".format(
    installpath, installpath, installpath)

def RegisterPy():
    try:
        reg = OpenKey(HKEY_CURRENT_USER, regpath)
    except EnvironmentError as e:
        try:
            reg = CreateKey(HKEY_CURRENT_USER, regpath)
            SetValue(reg, installkey, REG_SZ, installpath)
            SetValue(reg, pythonkey, REG_SZ, pythonpath)
            CloseKey(reg)
        except:
            print(" Unable to register!")
            return
        print("--- Python", version, "is now registered!")
        return
    if (QueryValue(reg, installkey) == installpath and
        QueryValue(reg, pythonkey) == pythonpath):
        CloseKey(reg)
        print("=== Python", version, "is already registered!")
        return
    CloseKey(reg)
    print(" Unable to register!")
    print("*** You probably have another Python installation!")
if name == "main":
    RegisterPy()

為了防止直接從網(wǎng)頁(yè)復(fù)制運(yùn)行失敗的情況,我把它放到了github上,可以直接下載運(yùn)行:register.py

2.命令行中運(yùn)行提示找不到指定的模塊

import cx_Oracle

ImportError: DLL load failed: 找不到指定的模塊。

這個(gè)問(wèn)題的解決方法網(wǎng)上也說(shuō)了很多,就是下載instantclient,然后解壓將其中的oci.dll拷貝到$Python_Home 或者 $Python_Home\Lib\site-packages 目錄下。

運(yùn)氣好了,就成功了,運(yùn)氣不好的話可能還會(huì)出現(xiàn)找不到指定的模塊這個(gè)問(wèn)題,原因是instantclient的版本和cx_Oracle的版本不一致,拿我安裝的來(lái)舉例,我先下載了instantclient11,而我的 cx_Oracle安裝的是cx_Oracle-5.2.1-12c.win-amd64-py3.5,一個(gè)是11,一個(gè)是12c,這樣還是出現(xiàn)了這個(gè)找不到指定的模塊這個(gè)問(wèn)題。

正確做法是下載instantclient12和cx_Oracle-5.2.1-12c.win-amd64-py3.5。

注意一點(diǎn)是cx_oracle和instantclient的版本不必和Oracle數(shù)據(jù)庫(kù)版本一致,只需要cx_Oracle和instantclient版本一致即可。

這樣這個(gè)問(wèn)題解決了,但是還有坑等著你!

3.命令行中運(yùn)行提示不是有效的win32模塊

import cx_Oracle

DLL load failed: %1 不是有效的 Win32 應(yīng)用程序

解決方法:上一步我們討論了版本問(wèn)題,這一步該說(shuō)說(shuō)操作系統(tǒng)位數(shù)的問(wèn)題了,出現(xiàn)這個(gè)問(wèn)題的原因是操作系統(tǒng)、cx_Oracle和instantclient的位數(shù)不同,比如我先就是用的win10 64、cx_Oracle-5.2.1-12c.win-amd64-py3.5和instantclient12c(32位),就報(bào)了這個(gè)錯(cuò)誤。

正確做法是三者都用64或者三者都用32位系統(tǒng),將instantclient的oci.dll文件放到$Python_Home\Lib\site-packages 目錄下即可。

到此,應(yīng)該可以解決cx_oracle安裝過(guò)程的所有問(wèn)題了,祝大家好運(yùn)!

補(bǔ)充:雖然這樣是可以使用cx_Oracle了,但是實(shí)際操作數(shù)據(jù)庫(kù)的時(shí)候可能會(huì)出現(xiàn)unable to acquire oracle environment handle這個(gè)錯(cuò)誤,解決方法是拷貝oci.dll, oraociei12.dll, oraocci12.dll到site-package中。

另外一種方法是為instantclient12c設(shè)置環(huán)境變量,這樣就不用拷貝dll文件了

以上就是python安裝cxOracle避坑總結(jié)不要直接pip install了的詳細(xì)內(nèi)容,更多關(guān)于python安裝cxOracle避坑的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python實(shí)現(xiàn)http接口自動(dòng)化測(cè)試的示例代碼

    Python實(shí)現(xiàn)http接口自動(dòng)化測(cè)試的示例代碼

    這篇文章主要介紹了Python實(shí)現(xiàn)http接口自動(dòng)化測(cè)試的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 詳解利用Python scipy.signal.filtfilt() 實(shí)現(xiàn)信號(hào)濾波

    詳解利用Python scipy.signal.filtfilt() 實(shí)現(xiàn)信號(hào)濾波

    這篇文章主要介紹了詳解利用Python scipy.signal.filtfilt() 實(shí)現(xiàn)信號(hào)濾波,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • Django ORM查詢操作方式

    Django ORM查詢操作方式

    Django提供了一套非常方便的類似SqlAlchemy ORM的通過(guò)對(duì)象調(diào)用的方式操作數(shù)據(jù)庫(kù)表的ORM框架,,本文給大家詳細(xì)介紹Django ORM查詢操作方式,感興趣的朋友一起看看吧
    2023-10-10
  • Pytorch中的model.train()?和?model.eval()?原理與用法解析

    Pytorch中的model.train()?和?model.eval()?原理與用法解析

    pytorch可以給我們提供兩種方式來(lái)切換訓(xùn)練和評(píng)估(推斷)的模式,分別是:model.train()?和?model.eval(),這篇文章主要介紹了Pytorch中的model.train()?和?model.eval()?原理與用法,需要的朋友可以參考下
    2023-04-04
  • pytorch之inception_v3的實(shí)現(xiàn)案例

    pytorch之inception_v3的實(shí)現(xiàn)案例

    今天小編就為大家分享一篇pytorch之inception_v3的實(shí)現(xiàn)案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • python實(shí)現(xiàn)自動(dòng)下載sftp文件

    python實(shí)現(xiàn)自動(dòng)下載sftp文件

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)自動(dòng)下載sftp文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • python3.9和pycharm的安裝教程并創(chuàng)建簡(jiǎn)單項(xiàng)目的步驟

    python3.9和pycharm的安裝教程并創(chuàng)建簡(jiǎn)單項(xiàng)目的步驟

    這篇文章主要介紹了python3.9和pycharm的安裝教程并創(chuàng)建簡(jiǎn)單項(xiàng)目的步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Python運(yùn)維之獲取系統(tǒng)CPU信息的實(shí)現(xiàn)方法

    Python運(yùn)維之獲取系統(tǒng)CPU信息的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇Python運(yùn)維之獲取系統(tǒng)CPU信息的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 高考要來(lái)啦!用Python爬取歷年高考數(shù)據(jù)并分析

    高考要來(lái)啦!用Python爬取歷年高考數(shù)據(jù)并分析

    轉(zhuǎn)眼間,高考的日子又要來(lái)臨了,不知道高考學(xué)子們準(zhǔn)備的怎么樣了,今天這篇文章簡(jiǎn)單且隨意地分析一下高考的一些數(shù)據(jù),需要的朋友可以參考下
    2021-06-06
  • Python爬蟲(chóng)之Scrapy環(huán)境搭建案例教程

    Python爬蟲(chóng)之Scrapy環(huán)境搭建案例教程

    這篇文章主要介紹了Python爬蟲(chóng)之Scrapy環(huán)境搭建案例教程,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07

最新評(píng)論