<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>django — LowEndSpirit</title>
        <link>https://lowendspirit.com/index.php?p=/</link>
        <pubDate>Sun, 05 Apr 2026 18:01:59 +0000</pubDate>
        <language>en</language>
            <description>django — LowEndSpirit</description>
    <atom:link href="https://lowendspirit.com/index.php?p=/discussions/tagged/django/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>Adventures Installing Python And Django Directly From Source Code!</title>
        <link>https://lowendspirit.com/index.php?p=/discussion/6487/adventures-installing-python-and-django-directly-from-source-code</link>
        <pubDate>Mon, 18 Sep 2023 03:35:27 +0000</pubDate>
        <category>LES Talk</category>
        <dc:creator>Not_Oles</dc:creator>
        <guid isPermaLink="false">6487@/index.php?p=/discussions</guid>
        <description><![CDATA[<p><img src="https://lowendspirit.com/uploads/editor/bn/45dt1qefw96t.png" alt="" title="" /></p>

<h2><strong>Introduction</strong></h2>

<p>This article presents background information plus a quick and easy to follow recipe for installing, directly from <a rel="nofollow" href="https://github.com">Github</a> source code repositories, the <a rel="nofollow" href="https://www.python.org">Python programming language</a> and the <a rel="nofollow" href="https://www.djangoproject.com/">Django web framework.</a> The operating system used here is <a rel="nofollow" href="https://docs.fedoraproject.org/en-US/releases/rawhide/">Fedora Rawhide.</a>  Also included is a note about using the install steps presented here on <a rel="nofollow" href="https://www.debian.org/News/2023/20230610">Debian 12</a>.</p>

<p>As shown by the above screenshot, the quick, easy to follow, source-based Django install recipe given here actually works on Fedora Rawhide. Of course, the "without optimization" approach taken here is not intended for production. Instead, what we have here is a very fun introduction to building Python and Django from source code.</p>

<h2><strong>What Is Django?</strong></h2>

<p><a rel="nofollow" href="https://www.djangoproject.com/">Django</a> is a <a rel="nofollow" href="https://en.wikipedia.org/wiki/Web_framework">web framework</a> written in <a rel="nofollow" href="https://www.python.org/">Python.</a> The <a rel="nofollow" href="https://www.djangoproject.com/">Django Project's landing page</a> describes Django as "a high-level Python web framework that encourages rapid development and clean, pragmatic design."</p>

<h2><strong>Why Is Django Interesting?</strong></h2>

<p>A while back, I watched one of the <a rel="nofollow" href="https://www.youtube.com/watch?v=w8q0C-C1js4">CS50 lecture videos about Django.</a> The <a rel="nofollow" href="https://pll.harvard.edu/course/cs50-introduction-computer-science">CS50</a> video shows how simple and fast the Django web development process looks and how much Django must do in the background (for example, handling both database and web server functions). Web development using Django code seems cool -- very few lines of Django code are required to make <a rel="nofollow" href="https://en.wikipedia.org/wiki/Dynamic_web_page">dynamic web pages</a> work!</p>

<h2><strong>Django Install Methods</strong></h2>

<p>At first sight, especially for someone coming without a Python background, installing Django seems really complicated! The Django Project's <a rel="nofollow" href="https://docs.djangoproject.com/en/4.2/intro/install/">Quick install guide</a> describes:</p>

<ul>
<li>installing Python,</li>
<li>Optionally setting up a database,</li>
<li>Three Django install methods

<ul>
<li>from an official Django release (recommended),</li>
<li>from your operating system's distribution,</li>
<li>from the latest development code, and</li>
</ul></li>
<li>Verifying the install.</li>
</ul>

<p>The Quick install guide states that the first of the three install methods, installing from an official Django release, is "the best approach for most users."</p>

<p>However, for each of the three install methods, including for the recommended install method, the Django Quick install guide sends its readers to different sections of a significantly more detailed <a rel="nofollow" href="https://docs.djangoproject.com/en/4.2/topics/install/">How to install Django</a> page.</p>

<p>The more detailed How to install Django page explains that the recommended install from an official Django release involves both <a rel="nofollow" href="https://pypi.org/project/pip/"><code>pip</code>, the Package Installer for Python,</a> and <a rel="nofollow" href="https://docs.python.org/3/library/venv.html"><code>venv</code>, the Python Virtual Environment Module.</a></p>

<p>Of course, for a Django install, <a rel="nofollow" href="https://wiki.python.org/moin/BeginnersGuide/Download">Python</a> itself, along with <a rel="nofollow" href="https://pip.pypa.io/en/latest/installation/">pip</a> and <a rel="nofollow" href="https://docs.python.org/3/installing/index.html#installing-index">venv</a> might <a rel="nofollow" href="https://docs.djangoproject.com/en/4.2/topics/install/#installing-an-official-release-with-pip">need to be installed</a> if all three of these are not already present.</p>

<p>People use <a rel="nofollow" href="https://docs.djangoproject.com/en/4.2/topics/install/#get-your-database-running">Django with a database.</a> The database frequently is <a rel="nofollow" href="https://www.sqlite.org">SQLite</a> or <a rel="nofollow" href="https://www.postgresql.org/">PostgreSQL.</a> Precompiled SQLite is installed during the preliminary Fedora development tools install discussed below. Although there is an <a rel="nofollow" href="https://github.com/sqlite/sqlite">official Github SQLite source mirror,</a> SQLite uses <a rel="nofollow" href="https://fossil-scm.org">fossil</a> for source code management. Fossil seems so interesting and fun that it would make a great subject for another article. Thus, and even though PostgreSQL also is enticing, for the time being, on Fedora Rawhide, we can proceed with the distribution-installed SQLite.</p>

<p>Besides a database, Django also needs a web server. The official Django How to install tutorial <a rel="nofollow" href="https://docs.djangoproject.com/en/4.2/topics/install/#install-apache-and-mod-wsgi">recommends Apache web server with mod_wsgi.</a> The web server install also might be another great subject for yet another LES Talk article. Meanwhile, as shown below, we can use Django's built-in Python web server. It is the built-in Python web server which served the page of which the above screenshot was taken.</p>

<p>Reading the Django Quick install guide was super helpful for important context, and reading the more detailed Django How to install guide was even more helpful for learning additional install details. But, the crux is, even after reading both guides, no specific install recipe was provided. Instead, readers of these well meant and helpful guides are in the end left facing a complex puzzle about how to choose among various install methods and sub-methods. Ironically, each of the install methods very kindly is intended to make installing Django easy!</p>

<h2><strong>Simplifying The Django Install</strong></h2>

<p>Having tried all three of the install methods listed in the official Django Quick install guide, and having tried several variations mentioned in the more detailed, official Django How to install guide, I wondered whether the Django install somehow could be easier. I wanted a quick Django install recipe!</p>

<p>Many source repositories have easy to find, basic configuration and compilation instructions. For example, Python's simple, standard build instructions are <a rel="nofollow" href="https://github.com/python/cpython#build-instructions">here.</a> Often the simple, standard, "configure, make, make test, make install" series just works. Trying a source-based install seemed faster and easier, closer to upstream, and more fun than figuring out a specific install recipe based on one among the multiple, non-source-based install methods discussed in the official guides.</p>

<p>Source-based installs require a <a rel="nofollow" href="https://en.wikipedia.org/wiki/Compiler">compiler</a> and other development tools. In an ideal world, both the compiler and the development tools also themselves would be compiled from source by the end user. However, as shown here below, the Fedora distribution's package system can be used to quickly and easily install a compiler and other development tools.</p>

<p>Therefore, because of the simplicity of the standard build instructions and the ease of installing a compiler, I attempted, on Fedora Rawhide, a quick, source-based Django install. It seemed a good idea also to compile Python from C and to add <code>pip</code> and <code>venv</code> from their current development Python sources. That way, we get Django's friends built from their current sources to accompany our current, source-built Django. Of course, <a rel="nofollow" href="https://lowendspirit.com/discussion/6380/in-only-three-days-new-linux-kernel-source-commits-run-live-on-fedora-rawhide/p1">Fedora Rawhide runs on current Linux development kernels,</a> so Rawhide might be an especially fun and good fit for current, source-built userland programs.</p>

<p>Clone, compile, test, and install times mentioned below are from an Intel E3-1275 v5 with 64 GB DDR4 ECC RAM and 2 x 512 GB NVMe disks rented from <a rel="nofollow" href="https://hetzner.com">Hetzner</a> for €26.70 per month (approximately US$28.34). Newer and faster processors with faster memory and faster disks will have shorter times.</p>

<h2><strong>Quick Source-Based Django Install Recipe</strong></h2>

<h2><strong>Part I: Install Development Tools On Fedora Rawhide</strong></h2>

<pre><code>[not_oles@radium ~]$ sudo dnf groupinstall --with-optional "C Development Tools and Libraries"
[not_oles@radium ~]$ sudo dnf groupinstall --with-optional "Development Tools"
[not_oles@radium ~]$ sudo dnf groupinstall --with-optional "Development Libraries"
</code></pre>

<p>That's all, only these three commands. Probably they could be combined into a long, one line command, but I wanted to pause long enough between commands to read the individual output of each.</p>

<p>These three commands do not install Django, but they do install, respectively, 250, 585, and 186 development related software packages. That's 1,021 packages! Most of the newly installed packages are unneeded for our present purpose, but it was quick and easy to install everything. The entire one thousand plus package install took only about 8 minutes!</p>

<p>At least some Python must have been present in Fedora prior to the development tools install because <a rel="nofollow" href="https://docs.fedoraproject.org/en-US/quick-docs/dnf/"><code>dnf</code>, the Fedora install tool,</a> is itself Python based. Therefore, we need a trick to separate <code>dnf</code> installed programs from our own source-built programs. The <a rel="nofollow" href="https://en.wikipedia.org/wiki/PATH_(variable)">PATH environment variable</a> can help keep the <code>dnf</code> and source-built programs separated.</p>

<h2><strong>Part II: Check PATH And Enable Revert</strong></h2>

<ul>
<li><strong>PATH</strong></li>
</ul>

<p>We need to check that both our root and our user PATH environment variables are set for our shell to find our newly installed /usr/local/bin binaries ahead of previously installed package system binaries. Fedora's PATH was okay because <code>/usr/local/bin</code> comes ahead of <code>/usr/bin</code>. Our install won't put anything in <code>/usr/local/sbin</code>, but for additional local installs from source, it's good for <code>usr/local/sbin</code> to come ahead of <code>/usr/sbin</code>.</p>

<pre><code>[root@radium ~]# echo $PATH
/root/.local/bin:/root/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
[root@radium ~]# 
</code></pre>

<pre><code>[not_oles@radium ~]$ echo $PATH
/home/not_oles/.local/bin:/home/not_oles/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
[not_oles@radium ~]$
</code></pre>

<ul>
<li><strong>Revert</strong></li>
</ul>

<p>Let's set up the ability to revert. We're going to be installing into /usr/local. So, in case we want to revert, we can use <code>tar</code> to back up <code>/usr/local</code> as it is prior to our install.</p>

<p>If we have enough disk space, there's no need for compressing our tar archive. Compression can take significant extra time.</p>

<p><code>tar</code> is an old program! Old enough not to need the "-" before the flags!</p>

<pre><code>[not_oles@radium ~]$ cd /usr
[not_oles@radium usr]$ sudo tar cvf local-revert.tar local
</code></pre>

<h2><strong>Part III: Install Python From Source</strong></h2>

<pre><code>[not_oles@radium ~]$ cd /usr/local/src
[not_oles@radium src]$ time sudo git clone https://github.com/python/cpython.git
[not_oles@radium src]$ sudo mkdir cpython-obj
[not_oles@radium src]$ cd cpython-obj/
[not_oles@radium cpython-obj]$ time sudo ../cpython/configure --prefix="/usr/local" 
[not_oles@radium cpython-obj]$ time sudo make -j `nproc`
[not_oles@radium cpython-obj]$ time sudo make -j `nproc` test
[not_oles@radium cpython-obj]$ time sudo make -j `nproc` install
</code></pre>

<p>The above <code>configure</code>, <code>make</code>, <code>make test</code>, and <code>make install</code> procedure installs <code>pip</code>, as seen in the following snippet from the <code>make install</code> output.</p>

<pre><code>Successfully installed pip-23.2.1
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour 
with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
</code></pre>

<p>The newly compiled and installed items are:</p>

<pre><code>[not_oles@radium ~]$ ls -l /usr/local/bin
total 28408
lrwxrwxrwx. 1 root root        8 Oct 15 22:09 idle3 -&gt; idle3.13
-rwxr-xr-x. 1 root root      100 Oct 15 22:08 idle3.13
-rwxr-xr-x. 1 root root      230 Oct 15 17:40 pip3
-rwxr-xr-x. 1 root root      230 Oct 15 17:40 pip3.13
lrwxrwxrwx. 1 root root        9 Oct 15 22:09 pydoc3 -&gt; pydoc3.13
-rwxr-xr-x. 1 root root       85 Oct 15 22:08 pydoc3.13
lrwxrwxrwx. 1 root root       10 Oct 15 22:09 python3 -&gt; python3.13
-rwxr-xr-x. 1 root root 29065592 Oct 15 22:08 python3.13
-rwxr-xr-x. 1 root root     3026 Oct 15 22:08 python3.13-config
lrwxrwxrwx. 1 root root       17 Oct 15 22:09 python3-config -&gt; python3.13-config
[not_oles@radium ~]$ 
</code></pre>

<p>Note that the <code>pip</code> described in the warning as successfully installed was installed as <code>pip3</code> and as <code>pip3.13</code>, but not as plain <code>pip</code>. For Python itself, similar to <code>pip</code>, <code>pip3</code>, and <code>pip3.13</code>, the above <code>configure</code>, <code>make</code>, <code>make test</code>, and <code>make install</code> procedure installed <code>python3.13</code> and <code>python3</code> as a <a rel="nofollow" href="https://en.wikipedia.org/wiki/Symbolic_link">symbolic link</a> to <code>python3.13</code>, but not <code>python</code>. <code>sqlite3</code> also is not installed.</p>

<p>On Fedora Rawhide, the complete <code>clone</code>, <code>configure</code>, <code>make</code>, <code>make test</code>, and <code>make install</code> Python procedure took 9 minutes and 51 seconds.</p>

<h2><strong>Part IV: Install <code>nox</code> From Source</strong></h2>

<p><code>nox</code> is a requirement for installing <code>pip</code> from source. The <code>pip</code> development <a rel="nofollow" href="https://pip.pypa.io/en/latest/development/getting-started/">Getting Started page</a> says to install <code>nox</code> inside a virtual environment. However, the <a rel="nofollow" href="https://github.com/wntrblm/nox"><code>nox</code> Github readme.md</a> says, "Nox is designed to be installed globally (not in a project virtual environment)." On Fedora Rawhide, both types of installs seem initially to work. Here is the global <code>nox</code> install.</p>

<pre><code>[not_oles@radium ~]$ cd /usr/local/src
[not_oles@radium src]$ time sudo git clone https://github.com/wntrblm/nox.git
[not_oles@radium src]$ time sudo cd nox
[not_oles@radium nox]$ time sudo python3 -m pip install -e . # Note final posix dot.
</code></pre>

<h2><strong>Part V: Create, Activate, And Enter A Python Virtual Environment</strong></h2>

<pre><code>[not_oles@radium ~]$ time python3 -m venv .venv
[not_oles@radium ~]$ source .venv/bin/activate
(.venv) [not_oles@radium ~]$ cd .venv
(.venv) [not_oles@radium .venv]$
</code></pre>

<h2><strong>Part VI: Install <code>pip</code> From Source In The Virtual Environment</strong></h2>

<pre><code># Reference:  https://pip.pypa.io/en/latest/development/getting-started/
(.venv) [not_oles@radium .venv]$ time git clone https://github.com/pypa/pip
(.venv) [not_oles@radium .venv]$ cd pip
(.venv) [not_oles@radium pip]$ time python3 -m pip install -e . # Note final posix dot.
</code></pre>

<h2><strong>Part VII: Install Django From Source In The Virtual Environment</strong></h2>

<pre><code># Reference: https://docs.djangoproject.com/en/4.2/topics/install/#installing-development-version
(.venv) [not_oles@radium .venv]$ time git clone https://github.com/django/django.git
(.venv) [not_oles@radium .venv]$ cd django/
(.venv) [not_oles@radium django]$ time python3 -m pip install -e .
</code></pre>

<h2><strong>Part VIII: How To Exit The Virtual Environment</strong></h2>

<pre><code>(.venv) [not_oles@radium django]$ deactivate
[not_oles@radium django]$ cd
[not_oles@radium ~]$ 
</code></pre>

<h2><strong>Part IX: Test</strong></h2>

<ul>
<li><strong>Normal Environment</strong></li>
</ul>

<pre><code>[not_oles@radium ~]$ which python
/usr/bin/python
[not_oles@radium ~]$ /usr/bin/python -V
Python 3.12.0
[not_oles@radium ~]$ which python3
/usr/local/bin/python3
[not_oles@radium ~]$ /usr/local/bin/python3 -V
Python 3.13.0a1+
[not_oles@radium ~]$ which nox
/usr/local/bin/nox
[not_oles@radium ~]$ /usr/local/bin/nox --version
2023.4.22
[not_oles@radium ~]$ which pip
/usr/bin/pip
[not_oles@radium ~]$ /usr/bin/pip -V
pip 23.2.1 from /usr/lib/python3.12/site-packages/pip (python 3.12)
[not_oles@radium ~]$ which pip3
/usr/local/bin/pip3
[not_oles@radium ~]$ /usr/local/bin/pip3 -V
pip 23.2.1 from /usr/local/lib/python3.13/site-packages/pip (python 3.13
[not_oles@radium ~]$ which django-admin # PATH in global environment
/usr/bin/which: no django-admin in (/home/not_oles/.local/bin:/home/not_oles/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin)
[not_oles@radium ~]$ which sqlite
/usr/bin/which: no sqlite in (/home/not_oles/.local/bin:/home/not_oles/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin)
[not_oles@radium ~]$ which sqlite3
/usr/bin/sqlite3
[not_oles@radium ~]$ sqlite3 -version
3.43.1 2023-09-11 12:01:27 2d3a40c05c49e1a49264912b1a05bc2143ac0e7c3df588276ce80a4cbc9balt1 (64-bit)
[not_oles@radium ~]$ uname -r
6.6.0-0.rc5.20231013git10a6e5feccb8.44.fc40.x86_64
[not_oles@radium ~]$ cat /etc/fedora-release 
Fedora release 40 (Rawhide)
[not_oles@radium ~]$ 
</code></pre>

<ul>
<li><strong>Virtual Environment</strong></li>
</ul>

<pre><code>(.venv) [not_oles@radium .venv]$ which python
~/.venv/bin/python
(.venv) [not_oles@radium .venv]$ python -V
Python 3.13.0a1+
(.venv) [not_oles@radium .venv]$ which python3
~/.venv/bin/python3
(.venv) [not_oles@radium .venv]$ python3 -V
Python 3.13.0a1+
(.venv) [not_oles@radium .venv]$ which nox
/usr/local/bin/nox
(.venv) [not_oles@radium .venv]$ nox --version
2023.4.22
(.venv) [not_oles@radium .venv]$ which pip
~/.venv/bin/pip
(.venv) [not_oles@radium .venv]$ pip --version
pip 24.0.dev0 from /home/not_oles/.venv/pip/src/pip (python 3.13)
(.venv) [not_oles@radium .venv]$ which pip3
~/.venv/bin/pip3
(.venv) [not_oles@radium .venv]$ pip3 --version
pip 24.0.dev0 from /home/not_oles/.venv/pip/src/pip (python 3.13)
(.venv) [not_oles@radium .venv]$ which django-admin
~/.venv/bin/django-admin
(.venv) [not_oles@radium .venv]$ django-admin --version
5.1.dev20231015082711
(.venv) [not_oles@radium .venv]$ which sqlite # Get PATH inside virtual environment :)
/usr/bin/which: no sqlite in (/home/not_oles/.venv/bin:/home/not_oles/.local/bin:/home/not_oles/bin:/usr/lib64/ccache:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin)
(.venv) [not_oles@radium .venv]$ which sqlite3
/usr/bin/sqlite3
(.venv) [not_oles@radium .venv]$ sqlite3 -version
3.43.1 2023-09-11 12:01:27 2d3a40c05c49e1a49264912b1a05bc2143ac0e7c3df588276ce80a4cbc9balt1 (64-bit)
(.venv) [not_oles@radium .venv]$ uname -r
6.6.0-0.rc5.20231013git10a6e5feccb8.44.fc40.x86_64
(.venv) [not_oles@radium .venv]$ cat /etc/fedora-release 
Fedora release 40 (Rawhide)
(.venv) [not_oles@radium .venv]$ 
</code></pre>

<ul>
<li><strong>Web Server</strong></li>
</ul>

<p>We can launch a web server, and then our browser can see the Django default html index page shown in the screenshot above!</p>

<pre><code>[not_oles@radium ~]$ cd .venv
[not_oles@radium .venv]$ source bin/activate
(.venv) [not_oles@radium .venv]$ time django-admin startproject mysite
(.venv) [not_oles@radium .venv]$ cd mysite/
(.venv) [not_oles@radium mysite]$ python3 manage.py runserver 127.0.0.1:42365
</code></pre>

<h2> <strong>Time Summary</strong></h2>

<table>
<thead>
<tr>
  <th align="left">Item</th>
  <th align="right">Time (minutes)</th>
</tr>
</thead>
<tbody>
<tr>
  <td align="left">Install development tools</td>
  <td align="right">8</td>
</tr>
<tr>
  <td align="left">Clone, compile, test, and install CPython</td>
  <td align="right">10</td>
</tr>
<tr>
  <td align="left">Clone and install <code>nox</code></td>
  <td align="right">0.2</td>
</tr>
<tr>
  <td align="left">Create virtual environment</td>
  <td align="right">0.1</td>
</tr>
<tr>
  <td align="left">Clone and install pip</td>
  <td align="right">0.2</td>
</tr>
<tr>
  <td align="left">Clone and install Django</td>
  <td align="right">0.5</td>
</tr>
<tr>
  <td align="left"></td>
  <td align="right">--------</td>
</tr>
<tr>
  <td align="left">Total</td>
  <td align="right">19.0</td>
</tr>
</tbody>
</table>

<h2><strong>Debian 12</strong></h2>

<p>Newly installed out of its netinstall.iso box, Debian 12 Linux seems to use <code>/usr/local/lib</code> for <code>apt</code> Python installations. In other words, <code>/usr/local/lib</code> comes with subdirectories <code>/python3.11</code> and <code>/python3.11/dist-packages</code> preinstalled.</p>

<p>Moreover, Debian valiantly guards <code>/usr/local</code>. The above CPython "configure, compile, test, install" command sequence does not install any <code>pip</code>. Also, on Debian 12, the above <code>nox</code> install command failed. There was a helpful error message, which explained, "This environment" [that is, I guess, global <code>/usr/local</code>] "is externally managed. . . ."</p>

<h2><strong>Discussion</strong></h2>

<ul>
<li>What are the advantages and disadvantages of installing <code>nox</code> globally versus installing <code>nox</code> inside a virtual environment?</li>
<li>Is using <code>python</code> for the packaged install and <code>python3</code> for the compiled install a good idea?</li>
<li>Should we do something like <code>sudo ln -s /usr/local/bin/python3.13 /usr/local/bin/python</code>?</li>
<li>CPython has a helpful <a rel="nofollow" href="https://devguide.python.org/getting-started/setup-building/">Setup and Building Guide.</a> In addition to configuring and compiling, <code>git</code>, dependencies, several operating systems, and troubleshooting also are discussed.  The Guide says, "There is normally no need to install your built copy of Python! The interpreter will realize where it is being run from and thus use the files found in the working copy."</li>
<li>I need to study up on the cpython configure options, including <code>--with-pydebug</code> and <code>--enable-optimizations</code>.</li>
<li>The Cpython <code>test_dtrace</code> formerly succeeded on Rawhide, but it has failed since about the time earlier this month when Python 3.12 was released. There is an old <a rel="nofollow" href="https://bugs.python.org/issue36702">bug report from 2019</a> which has similar log messages. Configuring Cpython with <code>--with-dtrace</code> did not help.</li>
</ul>
]]>
        </description>
    </item>
   </channel>
</rss>
