<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>JupyterLab on 怠惰技術ブログ</title>
    <link>/tags/jupyterlab/</link>
    <description>Recent content in JupyterLab on 怠惰技術ブログ</description>
    <generator>Hugo -- 0.147.7</generator>
    <language>ja</language>
    <lastBuildDate>Mon, 26 Jan 2026 18:30:00 +0900</lastBuildDate>
    <atom:link href="/tags/jupyterlab/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Proxmox LXCコンテナでJupyterLab環境構築 - 試行錯誤とトラブルシューティング</title>
      <link>/posts/2026-01-26-proxmox-jupyter/</link>
      <pubDate>Mon, 26 Jan 2026 18:30:00 +0900</pubDate>
      <guid>/posts/2026-01-26-proxmox-jupyter/</guid>
      <description>&lt;h2 id=&#34;はじめに&#34;&gt;はじめに&lt;/h2&gt;
&lt;p&gt;Proxmox上にJupyterLabのLXC環境を構築しました。当初はGeminiに任せて試行錯誤しましたが、最終的にベストプラクティスに辿り着いたので、その過程と解決策をまとめます。&lt;/p&gt;
&lt;h2 id=&#34;構築の基本方針&#34;&gt;構築の基本方針&lt;/h2&gt;
&lt;p&gt;当初は「Root + グローバル環境」で構築しようとしましたが、最終的に**「専用ユーザー + 仮想環境（venv）」**による安全でクリーンな構成に落ち着きました。&lt;/p&gt;
&lt;h3 id=&#34;最終構成&#34;&gt;最終構成&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;OS&lt;/strong&gt;: Ubuntu 24.04 LTS (LXC Container)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ユーザー&lt;/strong&gt;: &lt;code&gt;jupyter&lt;/code&gt; (非Root運用)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Jupyter&lt;/strong&gt;: JupyterLab (v4.x)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;環境&lt;/strong&gt;: &lt;code&gt;/opt/jupyter/venv&lt;/code&gt; (OSと分離した仮想環境)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;環境構築手順&#34;&gt;環境構築手順&lt;/h2&gt;
&lt;h3 id=&#34;1-osの準備&#34;&gt;1. OSの準備&lt;/h3&gt;
&lt;p&gt;Ubuntu 24.04の最小構成に必要なパッケージをインストールします。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;apt update &lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; apt upgrade -y
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;apt install -y python3-full build-essential
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;python3-full&lt;/code&gt;が重要です。これがないと後述するPEP 668の問題に直面します。&lt;/p&gt;
&lt;h3 id=&#34;2-専用ユーザーとディレクトリの作成&#34;&gt;2. 専用ユーザーとディレクトリの作成&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# 専用ユーザー作成&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;useradd -m -s /bin/bash jupyter
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# Jupyter本体用のディレクトリ準備&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mkdir -p /opt/jupyter
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;chown jupyter:jupyter /opt/jupyter
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;3-仮想環境の構築&#34;&gt;3. 仮想環境の構築&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;jupyter&lt;/code&gt;ユーザーとして、OSの制限を受けない独立した環境を作ります。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;su - jupyter
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;python3 -m venv /opt/jupyter/venv
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;source /opt/jupyter/venv/bin/activate
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# JupyterLabとカーネルのインストール&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pip install jupyterlab ipykernel pandas
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;4-systemdによるデーモン化&#34;&gt;4. systemdによるデーモン化&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;/etc/systemd/system/jupyter.service&lt;/code&gt;を作成します。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
