Debianではroot権限がありません.Pythonを使ってOracleにアクセスします.
Debianではroot権限がありません.Pythonを使ってOracleにアクセスします.
この文章の原因は、会社のサーバーにroot権限がないということですが、Pythonを使ってOracleにアクセスする必要があります.pipを使ってコンポーネントをインストールするか、Oracleをインストールするclientを使っても、相応の権限が必要です.この問題はこの問題を解決します.
使用する
資源から隔離された角度からでも、rootを迂回する角度からでも、便利なPython仮想環境ツールのセットが必要です.
運維兄にお願いします.
インストール
インストクリティティーのインストール
cx_をインストールしただけですOracleは、importではライブラリが見つかりません.Oracleオフィシャルのinstantclientをインストールします.ダウンロードアドレスはここですで、
ダウンロードした後、権限のあるディレクトリに入ります.もしユーザのルートディレクトリ
次に、環境変数を修正したばかりのrcファイルを有効にします.
終わりに
今、理論的にはPythonで正常に
もしだめなら、エラーの中のカバンを補充しなければなりません.テスト中、システムには
Enjoy your work~
この文章の原因は、会社のサーバーにroot権限がないということですが、Pythonを使ってOracleにアクセスする必要があります.pipを使ってコンポーネントをインストールするか、Oracleをインストールするclientを使っても、相応の権限が必要です.この問題はこの問題を解決します.
使用する
virtualenv
Pythonとpip
を使用してコンポーネントをインストールする場合、デフォルトはシステムディレクトリにインストールされます.root権限が必要です.資源から隔離された角度からでも、rootを迂回する角度からでも、便利なPython仮想環境ツールのセットが必要です.
運維兄にお願いします.
virtualenv
をインストールしてください.ちなみに、virtualenv
およびpip
は、Debianの下でvirtualenv
を直接使用してインストールされ、対応するパケットはそれぞれapt-get
およびpython-pip
である.サーバーにないなら、大胆にリストを提供してください.virtualevn
については、ここではもう詳しく説明しません.疑問があれば、私のもう一つの文章「virtual lenvとvirtualnvwrapperの実践について話します。」に足を運んでください.virtualenv
があれば、自分のPython仮想環境を確立することができます.仮想環境にはroot権限は必要ありません.その後の作業はバーチャルで行われます.インストール
virtualenv
PythonでOracleにアクセスするにはcx_Oracle
を使用する必要があります.ここで直接cx_Oracle
を使用してインストールすればいいです.pip install cx_Oracle --pre
pip
ファイルが見つからないというインストール過程のヒントに遭遇しました.これはシステムにPython.h
カバンが足りないということです.python-dev
でセットしたものです.同じように運行と維持をお願いします.インストクリティティーのインストール
cx_をインストールしただけですOracleは、importではライブラリが見つかりません.Oracleオフィシャルのinstantclientをインストールします.ダウンロードアドレスはここですで、
apt-get
をダウンロードすればいいです.ダウンロードした後、権限のあるディレクトリに入ります.もしユーザのルートディレクトリ
Instant Client Package - Basic
.ダウンロードされたzipパケットは、例えば~
ディレクトリの下に解凍される.その後、環境変数を追加して、システムにこれらのライブラリを見つけることができます.端末のrcファイルには、例えば~/oracle/instantclient_12_2/
の末尾に環境変数を追加すると次のようになります.export ORACLE_HOME=$HOME/oracle/instantclient_12_2
export LD_LIBRATY_PATH=$ORACLE_HOME:$LD_LIBRATY_PATH
export PATH=$ORACLE_HOME:$PATH
この時、もう一つのことが必要です.~/.bashrc
のソフトリンクを構築することです.ln -s libclntsh.so.12.1 libclntsh.so
このことをする理由は、libclntsh.so
はライブラリファイルcx_Oracle
を使用する必要があるが、解凍後のlibclntsh.so
にはバージョン番号が付いたこのライブラリファイルしか含まれていないので、識別のために人工的にソフトリンクを作らなければならないからである.次に、環境変数を修正したばかりのrcファイルを有効にします.
source ~/.bashrc
今回のinstantclient
の後に、前に入った仮想環境は終了されることに留意されたい.後は仮想環境で作業を続けなければならないなら、もう一回入る必要があります.終わりに
今、理論的にはPythonで正常に
source
ができるはずです.できれば、説明と使用ができます.もしだめなら、エラーの中のカバンを補充しなければなりません.テスト中、システムには
import cx_Oracle
とlibaio1
の二つのカバンが足りないことが分かりました.一緒にヴィンテージを載せてください.Enjoy your work~