sql >> データベース >  >> RDS >> Oracle

Python DPI-1047 macOSでdlopen(libclntsh.dylib)が見つかりません

    私のコードは常にこれを行います:

    import os
    import platform
    if platform.system() == "Darwin":
        cx_Oracle.init_oracle_client(lib_dir=os.environ.get("HOME")+"/Downloads/instantclient_19_8")
    

    これが最も便利なソリューションです。 「初期化済み」エラーが発生した場合は、init_oracle_client()のみを呼び出すようにしてください。 1回 Pythonプロセスごと。

    または、次のようなcx_Oracleバイナリを見つけることもできます:

    [email protected]:~$ python
    Python 3.9.6 (default, Aug 20 2021, 13:36:17) 
    [Clang 12.0.5 (clang-1205.0.22.11)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import cx_Oracle
    >>> cx_Oracle
    <module 'cx_Oracle' from '/Users/cjones/.local/lib/python3.9/site-packages/cx_Oracle.cpython-39-darwin.so'>
    

    次に、ターミナルウィンドウで、次のような操作を行います。

    ln -s $HOME/Downloads/instantclient_19_8/libclntsh.dylib $HOME/.local/lib/python3.9/site-packages
    

    これはmacOS用です。これを読んでいるLinuxユーザーは、このソリューションがLinuxでは機能しないことに注意する必要があります。

    oradiag_xxx ディレクトリは、Oracleの「クライアント」トレース用です。これはいつでも削除できます。




    1. Windows7でGitbashを実行します。mysqldumpコマンドが機能していません

    2. mysqlのカテゴリとサブカテゴリのリスト

    3. LAravel 5は、OR条件をBETWEENで使用します

    4. 一般的なSQLServerの事故