「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>Python#la989816]]
--WSL2 Ubuntu 24.04 LTS 2025/1/21
--[[Ubuntu 24.04 on Azure via Bastion 2025/2/27]]

*目次 [#m78a48a6]
#contents

*概要 [#j044485b]
-クリーン・インストール環境にPython環境を再構築
-[[Jupiter>Jupyter Notebook]]利用環境と、[[LangFlow>LangChain#k3130395]]評価環境を仮想分離

*詳細 [#k883c376]

**Ubuntu再インストール [#a7f09862]
[[Ubuntu 24.04 LTS の再インストール>https://techinfoofmicrosofttech.osscons.jp/index.php?WSL%20%E2%86%92%20WSL2#i6dd4c37]]

**Ubuntu ユーザの変更 [#k4fb026d]
-何故か通常ユーザでなく、rootユーザだったので、再度、[[WSL2から再インストール>#a7f09862]]
-この手順も良く解らん:https://zenn.dev/ohno/articles/48ed2935c5094f
-初期化時に、Installing, this may take a few minutes...をスキップせず上手く設定すると良い。

**環境変数設定 [#w5d92061]

***環境変数などを設定する。 [#sc378326]
 export XXXX="XXXX"

***OPENAI_API_KEYを設定する。 [#f9e34134]
 export OPENAI_API_KEY=sk-proj-...

**プロキシ対応 [#x6d03a24]

***環境変数にプロキシ設定を追加する。 [#m81a63c0]
 export HTTP_PROXY="http://UID:PWD@proxy fqdn&port"
 export HTTPS_PROXY="http://UID:PWD@proxy fqdn&port"

***その他、必要に応じて設定する。 [#g22c45d3]

-独自 root CA 証明書のインストール方法 (Ubuntu) #ca-certificates - Qiita~
https://qiita.com/matarillo/items/c04d8afd09eada27a2b2

-apt のプロキシ対応 #Ubuntu - Qiita~
https://qiita.com/m-tmatma/items/e3d9de76be50763ac01c
> sudo nano /etc/apt/apt.conf で Acquire::http::Proxy, Acquire::https::Proxy を設定するのが楽。

**以降の手順 [#ta4510d7]
***[[Python環境>#jd2b3138]] [#n534a2b3]
***[[LangFlow環境>#v0be1306]] [#le4b142a]
***[[エクスポート・インポート>#a2fbd3e0]] [#ab816b66]

*Python環境 [#jd2b3138]

**準備 [#gbaf355a]

***確認 [#h3dfc3f7]
pip NG、Python NG、Python3 OK

***設定 [#a65dfb7d]
エイリアスのPythonを設定し、pipをインストールする。

-シンボリックリンクを作成(全OS共通)
 sudo ln -sf /usr/bin/python3 /usr/bin/python

-pipをインストールする。
 sudo apt update
 sudo apt install python3-pip

**仮想環境(venv) [#m8a520c5]
-【私用】ubuntu24.04でpipしてもライブラリインストールできずPEP668になる件 #Python - Qiita~
https://qiita.com/AzukiImo/items/5c6dd7e870c9965e41f3

***インストール [#q9b47095]
venvをインストールする。

 sudo apt install python3-venv

***仮想環境作成 [#see9c1a0]
仮想環境(python3-venv)作成のおまじない。
 python3 -m venv .python3_venv

***アクティブ化 [#i6929993]
(環境外から実行)
 source .python3_venv/bin/activate

***非アクティブ化 [#da86d231]
環境内から実行
 deactivate

***クリア・削除 [#w2fff464]
環境外から実行

-クリア
 sudo python -m venv --clear python3_venv

-削除(実体はただのフォルダらいし)
 sudo rm -rf .python3_venv

***一覧 [#m0459246]
-確認するコマンドがないので以下で代替
 sudo find / -path "/mnt" -prune -o -name "*_venv" -print
※ "/mnt"は、除外されるパス。サフィックスが、"_venv"である必要がある。

-一覧ではないが、activate後なら以下で確認できる。
 which python
 /home/[ユーザー名]/.python3_venv/bin/python

***実体 [#x50b1003]
-binまでディレクトリ
 cd /home/[ユーザー名]/.python3_venv/bin

-pythonはファイル
 ls -l /home/[ユーザー名]/.python3_venv/bin
 lrwxrwxrwx 1 [ユーザー名] [ユーザー名] 7 May 14 09:38 /home/[ユーザー名]/.python3_venv/bin/python -> python3

-ナニが入っている?
 dir /home/[ユーザー名]/.python3_venv/bin
 Activate.ps1 activate activate.csh activate.fish python python3 python3.12 pip pip3 pip3.12 ...

**[[Jupiter>Jupyter Notebook]]環境 [#k0a073ba]
仮想環境(python3-venv)内から実行

※ [[参考>Jupyter Notebook#ie578dbb]]

***準備 [#s23746c4]
-初回は不要だが、2回目以降、XXXX-venvを作成した場合、以下の手順が必要。
-sudoでの解決はNGっぽい(仮想環境のpipでsudoを使うと意図しない結果になる)
初回は不要だが、2回目以降、XXXX-venvを作成した場合、以下の手順が必要。

-EC2のvenvでpip installしたらPermission deniedと言われた件 #Python - Qiita~
https://qiita.com/lefirea/items/84553abf9e948d5506fa

-Permission denied (os error 13)対応~
 sudo chmod -R 777 /home/[ユーザー名]/.XXXX-venv/

-sudoでの解決はNGっぽい(仮想環境のpipでsudoを使うと意図しない結果になる)

***インストール [#b06bd259]
 pip install Jupyter
 pip install jupyterlab
 pip install numpy
 pip install pandas

***起動 [#pdb3ede8]

-パス?
 $ export PATH="$HOME/.local/bin:$PATH"

-起動
 $ jupyter-lab 

*LangFlow環境 [#v0be1306]

**pip → uv [#ofc5386b]
-[[LangFlowのインストール>#i24270b5]]で推奨されているパッケージ・マネージャー。

-uv(pythonパッケージ・マネージャー)の使い方 詳細版~
https://zenn.dev/tabayashi/articles/52389e0d6c353a

-【Python】uvで始めるPythonプロジェクト #初心者 - Qiita~
https://qiita.com/kissy24/items/0c091bb5f12d697131ae

***インストール [#n617ae51]
環境外から実行

 # macOS/Linux
 curl -LsSf https://astral.sh/uv/install.sh | sh

***設定 [#m6199486]
-指示されたコマンドを実行
 source $HOME/.local/bin/env

-Shell の補完スクリプトを入れる
 echo 'eval "$(uv generate-shell-completion bash)"' >> ~/.bashrc

-自身のアップデート
 uv self update

**[[LangFlow>LangChain#k3130395]]評価環境 [#i24270b5]

***仮想環境準備 [#xd8132e3]
-仮想環境(langflow)作成のおまじない。~
(コチラは何故か?「sudo」が必要だった)
 sudo python3 -m venv .langflow_venv

-仮想環境(langflow)のアクティブ化
 source .langflow_venv/bin/activate

※ どデカい(設計 / 依存性が過剰な)ので仮想環境を切っておいて正解。

***インストール [#t65c0b95]
uvが推奨というダケあって、pipダケだとマトモにインストールできない。

※ 依存関係の解決でインストールが停止する (e2b-code-interpreter) #5794~
  https://github.com/langflow-ai/langflow/issues/5794

-%%sudo で command not found を回避し、環境変数も引き継ぐ方法 #Ubuntu - Qiita%%~
%% https://qiita.com/noraworld/items/88f56975cdfc69bbf30b %%

-%%sudo で(uvの)command not found を回避...%%
 sudo visudo ...

-Permission denied (os error 13)対応~
 sudo chmod -R 777 /home/[ユーザー名]/.langflow_venv/

-uv pip install~
 uv pip install langflow

***起動 [#g17e5f0c]
 uv run langflow run

※ 表示されたURLにブラウザからアクセスする。

***[[操作>LangChain#qdc47b14]] [#p8a6b7f3]

*Ollama環境 [#ob449d3e]

**Ollamaのインストール [#y0b5e354]
-OllamaはPython関係ないので仮想環境は不要

-以下でインストール(2025/3情報)
 curl -fsSL https://ollama.com/install.sh | sh

**Ollamaの実行と試行 [#hadce4cd]
-実行
 ollama run phi3:mini

-試行
 curl -X POST http://localhost:11434/api/generate -d '{
   "model": "phi3:mini",
   "prompt": "こんにちは、Ollama!日本語で返答してください。"
 }'

*WSLのエクスポート・インポート [#a2fbd3e0]

**エクスポート [#o21a6aba]
ファイルサイズは4GBほどだった。
 wsl --export Ubuntu-XXX  d:\ubuntu-XXX.tar

**インポート [#va9cac03]
XXX=LangFlowの場合(仮想環境(venv)を使えばこの限りではない)

-格納先を指定してインポート
 mkdir $home\AppData\Local\wslDistroStorage\LangFlow
 wsl --import Ubuntu-LangFlow $home\AppData\Local\wslDistroStorage\LangFlow $home\Downloads\ubuntu-XXX.tar

-既存の格納先は以下のコマンドで確認できる。
 Get-ItemProperty -Path Registry::HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\*

-インポート後に、WSL2のディストリビューションを起動するとrootでの起動になったのでコレを修正する。

--Ubuntu-LangFlow側で以下を実行
 cat << EOF > /etc/wsl.conf
 [user]
 default=user-name
 EOF

--Windows側で以下を実行
 wsl -t Ubuntu-LangFlow

--Ubuntu-LangFlowを起動

*参考 [#mbfd2103]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS