Skip to content

DNET_WSL2Ubuntu2404LTS

nishi_74322014 edited this page Sep 11, 2026 · 1 revision

WSL2 Ubuntu 24.04 LTS 2025/1/21

概要

  • クリーン・インストール環境にPython環境を再構築
  • Jupyter利用環境と、LangFlow評価環境を仮想分離

詳細

Ubuntu再インストール

Ubuntu 24.04 LTS の再インストール(WSL → WSL2の該当節を参照)

Ubuntu ユーザの変更

環境変数設定

環境変数などを設定する。

export XXXX="XXXX"

OPENAI_API_KEYを設定する。

export OPENAI_API_KEY=sk-proj-...

プロキシ対応

環境変数にプロキシ設定を追加する。

export HTTP_PROXY="http://UID:PWD@proxy fqdn&port"
export HTTPS_PROXY="http://UID:PWD@proxy fqdn&port"

その他、必要に応じてより詳細に設定する。

以降の手順

Python環境

準備(Python)

確認

pip NG、Python NG、Python3 OK

設定(Python)

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

  • シンボリックリンクを作成(全OS共通)

    sudo ln -sf /usr/bin/python3 /usr/bin/python
    
  • pipをインストールする。

    sudo apt update
    sudo apt install python3-pip
    

仮想環境(venv)

インストール(venv)

venvをインストールする。

sudo apt install python3-venv

仮想環境作成

仮想環境作成のおまじない。

python3 -m venv .python3_venv

※ .python3_venv=任意の仮想環境名

アクティブ化

作成した仮想環境のアクティブ化

source .python3_venv/bin/activate

※ .python3_venv=任意の仮想環境名

非アクティブ化

作成した仮想環境内から実行

deactivate

クリア・削除

仮想環境外から実行

  • クリア

    sudo python -m venv --clear .python3_venv
    
  • 削除(実体はただのフォルダらしい)

    sudo rm -rf .python3_venv
    

一覧

  • 確認するコマンドがないので以下で代替

    sudo find / -path "/mnt" -prune -o -name "*_venv" -print
    

    ※ "/mnt"は、除外されるパス。サフィックスが、"_venv"である必要がある。

  • 一覧ではないが、activate後なら以下で確認できる。

    which python
    /home/[ユーザー名]/.python3_venv/bin/python
    

実体

  • 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 ...
    

Jupyter環境

Jupyter Notebook

仮想環境(python3-venv)内から実行

※ 参考:Jupyter Notebookの該当節

準備(Jupyter)

初回は不要だが、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を使うと意図しない結果になる)

インストール(Jupyter)

pip install Jupyter
pip install jupyterlab
pip install numpy
pip install pandas

起動(Jupyter)

  • パス?

    $ export PATH="$HOME/.local/bin:$PATH"
    

    Ubuntu 22.04 以降の bash や zsh では ~/.profile 内で自動的に PATH に追加されている。

  • 起動

    $ jupyter-lab
    

LangFlow環境

pip → uv

インストール(uv)

  • インストール確認

    pip show uv
    
  • 環境外から実行

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

設定(uv)

  • 指示されたコマンドを実行

    source $HOME/.local/bin/env
    
  • Shell の補完スクリプトを入れる

    echo 'eval "$(uv generate-shell-completion bash)"' >> ~/.bashrc
    
  • 自身のアップデート

    uv self update
    

LangFlow評価環境

LangFlow

仮想環境準備

  • 仮想環境(langflow)作成のおまじない。
    (コチラは何故か?「sudo」が必要だった)

    sudo python3 -m venv .langflow_venv
    
  • 仮想環境(langflow)のアクティブ化

    source .langflow_venv/bin/activate
    

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

インストール(LangFlow)

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
    

起動(LangFlow)

uv run langflow run

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

操作

LangFlowの該当節を参照。

Ollama環境

Ollamaのインストール

  • OllamaはPython関係ないので仮想環境は不要

  • 以下でインストール(2025/3情報)

    curl -fsSL https://ollama.com/install.sh | sh
    

Ollamaの実行と試行

  • 実行

    ollama run phi3:mini
    
  • 試行

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

WSLのエクスポート・インポート

エクスポート

ファイルサイズは4GBほどだった。

wsl --export Ubuntu-XXX  d:\ubuntu-XXX.tar

インポート

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を起動

移行メモ

  • 「Jupiter」は「Jupyter」の誤記のため修正した。
  • 「実体はただのフォルダらいし」→「らしい」に修正した。
  • 仮想環境名の表記が .python3_venv.python3-venv / python3_venv で 揺れていたため、実際に作成しているディレクトリ名 .python3_venv に統一した。
  • 元 Wiki の打ち消し線記法(%%〜%%)は Markdown の ~~〜~~ に置き換えた。
  • 元 Wiki では LangFlow が LangChain ページ内の節への リンクになっていたが、本 Wiki では LangFlow が 独立したページとして移行済みのため、そちらへのリンクに変更した。
  • マイクロソフト系技術情報 Wiki(techinfoofmicrosofttech.osscons.jp)への URL リンクは、移行済みの WSL → WSL2 に張り替えた。
  • 同名の見出し(「準備」「設定」「インストール」「起動」)が複数あり GitHub Wiki でアンカが衝突するため、括弧で文脈を補って一意にした。
  • PukiWiki のページ内アンカ(#xxxxxxxx)は GitHub Wiki では再現できないため、 同一ページ内のアンカは見出しから生成されるアンカに張り替え、 他ページのアンカを指すリンクは「〜(ページ名 の該当節を参照)」の形に置き換えた。

Tags: 移行, WSL2, Ubuntu 24.04 LTS, Python, venv, Jupyter, LangFlow, uv, Ollama, プロキシ

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally