%general-entities; ]> Building pythonhosted.org Files pythonhosted Introduction to pythonhosted.org Files This section is for user convenience and is optional. It can be used to fetch and install most of the pythonhosted.org module packages in two convenient scripts. These scripts do not run any tests. To run the tests for an individual module see the appropriate detailed sections below or in the Python Dependencies page. &lfs112_checked; Package Information Download (HTTP): &pythonhosted-download-http; Download (FTP): Download MD5 sum: &pythonhosted-md5sum; Download size: &pythonhosted-size; Estimated disk space required: &pythonhosted-buildsize; Estimated build time: &pythonhosted-time; The dependencies shown here do not include those external to BLFS or those only needed for tests. See the individual sections below for a full list of dependencies. Pythonhosted.org Dependencies Required Recommended Optional Downloading All Pythonhosted Module Files The easiest way to install the modules from the files.pythonhosted.org site is to run a script to install them all at once. The order of building files is important due to internal dependencies. First, create the list of files in the proper order as follows: cat > pythonhosted-files.md5 << "EOF" a70f9fc85b6b8265c982eca6fe51381f charset-normalizer-2.1.1.tar.gz 4a4791e97f3a8c9a1645064a35636ee6 flit_core-3.7.1.tar.gz 13ea24e076212b6baae1135a116d1e0e idna-3.4.tar.gz ba308b52b9092184cf4905bc59a88fc0 urllib3-1.26.12.tar.gz 3591827fde96d1dd23970fb05410ed04 alabaster-0.7.12.tar.gz b1d2ed6592bbdf6002ef52b4ab8e2efe pytz-2022.4.tar.gz 809ed21b4f643167d0f6f5e936bbfbdc Babel-2.10.3.tar.gz 5a40586a25c07e1a8f16f6267252c321 imagesize-1.4.1.tar.gz #fadc2f3bf5872bf6310576a86c3566e0 pyparsing-3.0.9.tar.gz #e713c1939f294fd729af4a7be40dd141 packaging-21.3.tar.gz #447be4afb076c8325a7dc659aff5b931 Pygments-2.14.0.tar.gz 4332ddc7bbee0f344a03915b2ad59a54 snowballstemmer-2.2.0.tar.gz 3f2de7681e12dde031acee0497c3cc2b sphinxcontrib-applehelp-1.0.2.tar.gz 94069c5cdb5079c445f5477fa6107016 sphinxcontrib-devhelp-1.0.2.tar.gz 70765b55395a3c20233631802902c840 sphinxcontrib-htmlhelp-2.0.0.tar.gz e45179f0a3608b6766862e0f34c23b62 sphinxcontrib-jsmath-1.0.1.tar.gz 93216721f3e154cce12d1e9c3307b415 sphinxcontrib-qthelp-1.0.3.tar.gz d99d2edc7b26988dc5fa92163857bfbf sphinxcontrib-serializinghtml-1.1.5.tar.gz #fdfc7d2e102cb96eca0f6155dde7403e sphinx_rtd_theme-1.0.0.tar.gz 0487081b7ead8753fc46cf7c6d1e28e3 attrs-22.1.0.tar.gz d4341621d423a7ca6822e23d6d52bb9a tomli-2.0.1.tar.gz 5cfcb56ea6fc4972c3600c0030f4d136 typing_extensions-4.4.0.tar.gz 0df4e7fd923e4983cd65786efaa0e0d0 setuptools_scm-7.0.5.tar.gz 0b7f3be87481211c183eae095bcea6f1 iniconfig-1.1.1.tar.gz daa6fddfb6cd364f3c82e52098911e4b pluggy-1.0.0.tar.gz bde7dcc1cb452a1e10206ef2f811ba88 py-1.11.0.tar.gz #c4de3e192e5bb4b39deada36cc2f393a pytest-7.1.3.tar.gz 597656cf4feadf1998b0511201620202 Markdown-3.4.1.tar.gz 59bce5d8d67e858735ec3f399ec90253 toml-0.10.2.tar.gz 27957540f4718e892039b2ed208c78f3 smartypants-2.0.1.tar.gz 63f38f80531996f187d2894cc497ba08 typogrify-2.0.7.tar.gz #e1b86477bd77254a9e4070371887950c gi-docgen-2022.1.tar.gz EOF Next, create a script to fetch the files: cat > get-pythonhosted-files.sh << "EOF" #! /bin/bash PYTHONHOSTED=https://files.pythonhosted.org/packages/source mkdir -p pythonhosted cd pythonhosted for package in $(grep -v '^#' ../pythonhosted-files.md5 | awk '{print $2}') do # Don't try to get a package that is already present [ -e $package ] && continue basename=$(echo $package|sed 's/-[[:digit:]].*$//') basechar=$(echo $basename|cut -c 1) url=$PYTHONHOSTED/$basechar/$basename/$package wget $url done EOF Run the script and check the files: bash get-pythonhosted-files.sh && md5sum -c ../pythonhosted-files.md5 Installation of Pythonhosted Modules Set up a script to install all of the packages: cat > install-pythonhosted-files.sh << "EOF" #! /bin/bash cd pythonhosted for package in $(grep -v '^#' ../pythonhosted-files.md5 | awk '{print $2}') do name=$(echo $package|sed 's/-[[:digit:]].*$//') # Don't try to install the package if it already installed installed=$(pip3 show $name 2> /dev/null | grep Version:) unset version if [ -n $installed ]; then version=$(echo $installed | awk '{print $2}') fi if [ -n "$version" ]; then if [ ! $(echo $package | grep -q $version) ]; then echo $package is already installed continue fi fi # Now install the package packagedir=${package%.tar.?z*} rm -rf $packagedir tar -xf $package pushd $packagedir pip3 wheel -w dist --no-build-isolation --no-deps $PWD sudo pip3 install --no-index --find-links dist --no-cache-dir \ --no-user --upgrade $name popd done Now run the script to install the files. If the script is run multiple times, it will not try to reinstall the modules unless the version in the .md5 file has been changed. bash install-pythonhosted-files.sh Some of the packages have test procedures. See the individual package sections below to run any desired tests. Contents See the contents of the individual package sections below.