Python: Difference between revisions

From Smithnet Wiki
Jump to navigation Jump to search
 
(4 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
Line 18: Line 18:
  /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.
If you want somewhere else than /usr/local, add --prefix=/opt or similarto configure. Optionally:
 
Optionally:
   make test
   make test


Line 41: 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.