S3に保存されているSQLiteファイルをクエリするPythonコンテキストマネージャー「sqlite-s3-query」のインストールについて解説しています。
「sqlite-s3-query(https://github.com/michalc/sqlite-s3-query)」は、Amazon S3上に保存されたSQLiteファイルに問い合わせるためのPythonコンテキストマネージャです。ファイル全体のダウンロードを避け、クエリごとに複数のHTTPレンジリクエストを使用するのが特徴。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■sqlite-s3-queryをインストールする
sqlite-s3-queryをインストールを行いますが、今回はpipを経由してインストールを行うので、まずWindowsのコマンドプロンプトを起動します。
pip install sqlite-s3-query
起動後、上記のコマンドを入力し、Enterキーを押します。
なお、今回は、pythonランチャーを使用しており、Python Version 3.8.5にインストールを行うために、pipを使う場合にはコマンドでの切り替えを行います。
py -3.8 -m pip install sqlite-s3-query
切り替えるために、上記のコマンドを入力し、Enterキーを押します。
Defaulting to user installation because normal site-packages is not writeable Collecting sqlite-s3-query Downloading sqlite_s3_query-0.0.67-py3-none-any.whl (8.3 kB) Requirement already satisfied: httpx>=0.18.2 in c:\users\user_\appdata\roaming\python\python38\site-packages (from sqlite-s3-query) (0.21.3) Requirement already satisfied: sniffio in c:\users\user_\appdata\roaming\python\python38\site-packages (from httpx>=0.18.2->sqlite-s3-query) (1.2.0) Requirement already satisfied: charset-normalizer in c:\users\user_\appdata\roaming\python\python38\site-packages (from httpx>=0.18.2->sqlite-s3-query) (2.0.2) Requirement already satisfied: httpcore<0.15.0,>=0.14.0 in c:\users\user_\appdata\roaming\python\python38\site-packages (from httpx>=0.18.2->sqlite-s3-query) (0.14.7) Requirement already satisfied: certifi in c:\users\user_\appdata\roaming\python\python38\site-packages (from httpx>=0.18.2->sqlite-s3-query) (2021.5.30) Requirement already satisfied: rfc3986[idna2008]<2,>=1.3 in c:\users\user_\appdata\roaming\python\python38\site-packages (from httpx>=0.18.2->sqlite-s3-query) (1.5.0) Requirement already satisfied: anyio==3.* in c:\users\user_\appdata\roaming\python\python38\site-packages (from httpcore<0.15.0,>=0.14.0->httpx>=0.18.2->sqlite-s3-query) (3.5.0) Collecting h11<0.13,>=0.11 Using cached h11-0.12.0-py3-none-any.whl (54 kB) Requirement already satisfied: idna>=2.8 in c:\users\user_\appdata\roaming\python\python38\site-packages (from anyio==3.*->httpcore<0.15.0,>=0.14.0->httpx>=0.18.2->sqlite-s3-query) (3.2) Installing collected packages: h11, sqlite-s3-query Attempting uninstall: h11 Found existing installation: h11 0.13.0 Uninstalling h11-0.13.0: Successfully uninstalled h11-0.13.0 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. seleniumbase 3.1.0 requires beautifulsoup4==4.11.1; python_version >= "3.6", but you have beautifulsoup4 4.8.2 which is incompatible. seleniumbase 3.1.0 requires certifi>=2021.10.8, but you have certifi 2021.5.30 which is incompatible. seleniumbase 3.1.0 requires chardet==4.0.0; python_version >= "3.5", but you have chardet 3.0.4 which is incompatible. seleniumbase 3.1.0 requires charset-normalizer==2.0.12; python_version >= "3.5", but you have charset-normalizer 2.0.2 which is incompatible. seleniumbase 3.1.0 requires cryptography==37.0.2; python_version >= "3.7", but you have cryptography 3.3.2 which is incompatible. seleniumbase 3.1.0 requires h11==0.13.0; python_version >= "3.7", but you have h11 0.12.0 which is incompatible. seleniumbase 3.1.0 requires idna==3.3; python_version >= "3.6", but you have idna 3.2 which is incompatible. seleniumbase 3.1.0 requires pdfminer.six==20220319; python_version >= "3.7", but you have pdfminer-six 20191110 which is incompatible. seleniumbase 3.1.0 requires pyopenssl==22.0.0; python_version >= "3.7", but you have pyopenssl 21.0.0 which is incompatible. seleniumbase 3.1.0 requires requests==2.27.1; python_version >= "3.6", but you have requests 2.26.0 which is incompatible. seleniumbase 3.1.0 requires six==1.16.0, but you have six 1.12.0 which is incompatible. seleniumbase 3.1.0 requires tomli>=2.0.1; python_version >= "3.7", but you have tomli 1.2.3 which is incompatible. seleniumbase 3.1.0 requires urllib3==1.26.9, but you have urllib3 1.26.6 which is incompatible. helium 3.0.7 requires selenium==3.141.0, but you have selenium 4.1.5 which is incompatible. Successfully installed h11-0.12.0 sqlite-s3-query-0.0.67
Enterキーを押すと、インストールが開始され、上記のように「Successfully installed」と表示されます。これが表示されれば、sqlite-s3-queryが正常にインストールされたことになります。
しかし、今回は「pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.(pip の依存性解決は現在インストールされているすべてのパッケージを考慮に入れていません。この挙動は以下のような依存関係の衝突の原因となっています。)」というエラーが出力されてしまいました。このエラーを解決するためには、仮想環境を構築し、インストールされることを推奨します。
なお、今回はsqlite-s3-queryのバージョン0.0.67をインストールしました。
コメント