Python: Difference between revisions
Jump to navigation
Jump to search
NickPGSmith (talk | contribs) |
NickPGSmith (talk | contribs) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
dnf groupinstall 'Development Tools' | dnf groupinstall 'Development Tools' | ||
dnf install python3-devel | dnf install python3-devel libffi-devel | ||
wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tar.xz | wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tar.xz | ||
tar xvf Python-3.12.2.tar.xz | tar xvf Python-3.12.2.tar.xz | ||
./configure --enable-shared --with-ensurepip=install | ./configure --enable-shared --enable-optimizations --with-ensurepip=install | ||
make | make | ||
sudo make altinstall | sudo make altinstall | ||
Altinstall does not execute bininstall and maninstall, so good for not overwriting system python. Test resultant binary: | Altinstall does not execute bininstall and maninstall, so good for not overwriting system python. Test resultant binary: | ||
/usr/local/bin/python3.12 --version | /usr/local/bin/python3.12 --version | ||
If you want somewhere else than /usr/local, add --prefix=/opt or similarto configure. Optionally: | |||
make test | |||
== Virtual Environments == | == Virtual Environments == | ||
Line 38: | Line 39: | ||
Optionally, force a specific version, such as: | Optionally, force a specific version, such as: | ||
python -m pip install requests==2.30.0 | python -m pip install requests==2.30.0 | ||
Ensure shared libraries are accessible, eg: | |||
export LD_LIBRARY_PATH=/usr/local/lib | |||
Deactivate an env: | Deactivate an env: |
Latest revision as of 17:01, 1 July 2024
PIP
On Windows, start pip with:
py -m pip
Python Compilation
dnf groupinstall 'Development Tools' dnf install python3-devel libffi-devel wget https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tar.xz tar xvf Python-3.12.2.tar.xz
./configure --enable-shared --enable-optimizations --with-ensurepip=install make sudo make altinstall
Altinstall does not execute bininstall and maninstall, so good for not overwriting system python. Test resultant binary:
/usr/local/bin/python3.12 --version
If you want somewhere else than /usr/local, add --prefix=/opt or similarto configure. Optionally:
make test
Virtual Environments
Create a virtual environment:
python -m venv py-env/demo
Activate a virtual environment on Windows:
py-env\demo\Scripts\activate
or Linux:
. py-env/demo/bin/activate
Install within a venv:
pip install --upgrade pip python -m pip install pyinstaller python -m pip install requests
Optionally, force a specific version, such as:
python -m pip install requests==2.30.0
Ensure shared libraries are accessible, eg:
export LD_LIBRARY_PATH=/usr/local/lib
Deactivate an env:
deactivate
Python Installer
pip install pyinstaller
Add C:\Users\<user>\AppData\Roaming\Python\Python312\Scripts to PATH:
pyinstaller --onefile file.py
and the resultant executable will be in the dist directory.