VSCode+Pythonオフライン開発環境
今回は、インターネットに接続できない環境(オフライン環境)に、VSCode+Pythonの開発環境を構築するお話しです。
ことの始まり
私が本業で担当しているシステムは秘匿性が高いこともあって、開発・保守環境は外部インターネットができない環境(オフライン環境)に構築されています。
この環境にて、Pythonとオラクルを使ったツールを開発する必要に迫られたため、Python+VSCodeによる開発環境を構築することにしました。
作業内容
作業は以下のとおりです。
- Python
- Python拡張モジュール
- VSCode
- VSCode拡張機能
なお、実施環境はWindows10になります。
Python
Python本体を以下からダウンロードします。
https://pythonlinks.python.jp/ja/index.html
今回は3.8の最終版(3.8.6)を導入します。
インストールは通常通りですので、説明は割愛します。
Pythonの拡張モジュール
次に、オラクル接続用の拡張モジュールcx_Oracleをインストールします。
cx_Oracleはオラクル社が開発している拡張モジュールで、ソースコード(C言語のようです)はGitHubにて公開されており、ドキュメントはこちらにあります。
インストールは、最初にインターネット接続できるPCにてインストール媒体(.whlファイル)をダウンロードし、その媒体を使ってオフライン環境にインストールします。
pipコマンドによるcx_Oracleのインストール媒体のダウンロードは、以下のように行います。
<span class="has-inline-color has-vivid-cyan-blue-color">> pip download cx_oracle</span>
ダウンロードされたインストール媒体をオフライン環境にコピーし、pipコマンドにてインストールします。
依存モジュールをインストールしないオプション(–no-deps)を指定します。
% pip install --no-deps cx_Oracle-8.0.1-cp38-cp38-win_amd64.whl
Collecting cx_oracle
Using legacy setup.py install for cx-oracle, since package 'wheel' is not installed.
Installing collected packages: cx-oracle
Running setup.py install for cx-oracle ... done
Successfully installed cx-oracle-8.0.1
cx_Oracleインストールの際にpipの最新版を求められた場合は、以下のようにpipをアップグレードします。
<span class="has-inline-color has-vivid-cyan-blue-color">% pip download pip
% python -m pip install <span data-color="#fffd6b" style="background: linear-gradient(transparent 60%,rgba(255, 253, 107, 0.7) 0);" class="vk_highlighter">pip-20.2.4-py2.py3-none-any.whl</span></span>
VSCode
VSCodeは、以下のサイトから媒体をダウンロードしてインストールします。
https://code.visualstudio.com/download
通常のインストーラに加えてzip解凍のみの物件もあります。今回はWindowsの.zip物件(以下)を使用しました。
VSCode-win32-x64-1.51.1.zip
VSCode拡張モジュール
続いてVSCodeの拡張モジュールをインストールします。
必要な拡張モジュールは以下の3つです。
- Japanese Language Pack for VS Code(日本語化パック)
- Python extension for Visual Studio Code(マイクロソフト社製のPython開発環境)
- Jupyter Extension for Visual Studio Code(開発環境のカーネル)
拡張モジュールのダウンロード
今回はオフライン環境へインストールしますので、先程のPythonと同様、拡張モジュールをファイルとしてダウンロードしてインストールします。
Python開発環境を例に拡張モジュールのインストール方法を示します。
VSCodeの拡張モジュールボタンをクリック(下図の1)し、”python”でフィルター(2)します。
モジュール一覧からマイクロソフト社製のPython開発環境を選択(3)し、マーケットプレイスへのリンク(4)をクリックします。
表示されたマーケットプレイスの画面から”Download Extention”をクリックして拡張モジュールをダウンロードします。
ダウンロードした拡張モジュールは、拡張子.vsixのファイルとなります。
MS-CEINTL.vscode-language-pack-ja-1.51.2.vsix
最後にVSCodeに戻り、拡張機能のアクションから”VSIXからのインストール…”を指定して拡張モジュールをインストールします。
同様の操作で日本語化パック、Jupyterをダウンロードしてインストールします。
今回ダウンロードしたファイルは以下の通りです。
- MS-CEINTL.vscode-language-pack-ja-1.51.2.vsix
- ms-toolsai.jupyter-2020.11.358541065.vsix
留意点
2020年11月以降のマイクロソフト社製Python拡張モジュールでは、デバッグや分析機能をJupyterと呼ばれる拡張モジュールとして分離しました。
https://forest.watch.impress.co.jp/docs/news/1289446.html
この影響で、マイクロソフト社製のPython拡張モジュールは、Jupyterがなければ動作しない状況(依存モジュール化)となっています。具体的には、Python拡張モジュールだけをインストールした状態では、Pythonのコードアシストやデバッグ実行ができません。
インターネットと接続できる環境では、Python拡張モジュールをインストールすると、自動的にJupyterも導入されますので問題は起こりません。
しかし、今回のようなオフライン開発環境の構築時には、手動でJupyterをインストールする必要がありますので注意してください。
まとめ
今回は、最悪のタイミングでオフライン環境の構築作業を行なったため、Jupyter問題が解決するまでに半日以上の時間を費やしてしまいました。
いろいろ勉強にはなったのですが、時間を返してほしい気分です。。
コメント