「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
複数のプログラミングパラダイムに対応している。
Python 2.x はレガシー
インストーラーから(推奨)で使用しているもの。
システム全体のPython環境に影響を与えずに、プロジェクトごとに独立したPython仮想環境を構築するためのツール
virtualenv(仮想環境)ではなくpythonのバージョンを切り替えを簡単にしてくれるツール。
Pipfile.lock を使うパッケージマネージャー的なモノ
pipenvとの大きな機能の違いは、
パッケージング機能(パッケージのbuild・publish)をサポートしているかどうか。
殺意を覚えるほど多いので、利用時に個別説明
Jupyterとプロジェクト(フォルダ構成)は相性が悪いので、カーネルだけを切り替えられるようにする。
$ sudo apt install python3-virtualenv
$ virtualenv -p python3 myenv
$ source myenv/bin/activate
$ pip install ipykernel
$ ipython kernel install --user --name=jupyter-myenv
この状態で、仮想環境を抜けてJupyterを起動しても、jupyter-myenvが選択可能。
以下はLinuxを想定しているが、Windowsでも、凡そ同じように設定可能。
(Windows環境のPythonも、自動的にWindowsのプロキシ設定を使用しない)
HTTP_PROXY="http://umproxy.prx.intra.hitachi.co.jp:8080" HTTPS_PROXY="http://umproxy.prx.intra.hitachi.co.jp:8080" REQUESTS_CA_BUNDLE="<任意のフォルダパス>/XXXXX_Root_CA.cer"
import certifi import shutil # certifi が提供する CA 証明書バンドル(通常は .pem ファイル)のパスを取得。 certifi_bundle_path = certifi.where() # 元のバンドルに独自証明書を加えた、新しい証明書バンドルの出力先ファイル名。 new_bundle_path = "combined-ca-bundle.pem" # 元の certifi バンドルを、新バンドル・ファイルにコピー(=ベース)。 shutil.copy(certifi_bundle_path, new_bundle_path) # プロキシ提供元から展開されているルート証明書を読込。 proxy_cer_path = "XXXXX_Root_CA.cer" with open(proxy_cer_path, "r") as proxy_cer_file: proxy_cer_content = proxy_cer_file.read() # 新バンドル・ファイルの末尾に、ルート証明書を追加で書込。 with open(new_bundle_path, "a+") as new_bundle_file: new_bundle_file.write("\n" + proxy_cer_content)
HTTP_PROXY="http://プロキシのFQDN名とかポート番号とか" HTTPS_PROXY="http://プロキシのFQDN名とかポート番号とか" REQUESTS_CA_BUNDLE=combined-ca-bundle.pem
import dotenv import os # 環境変数を読み込み dotenv.load_dotenv() # REQUESTS_CA_BUNDLEに絶対パスを設定する。 os.environ['REQUESTS_CA_BUNDLE'] = os.path.join( os.path.dirname(dotenv.find_dotenv()), dotenv.dotenv_values()["REQUESTS_CA_BUNDLE"])