Christopher Juckins

SysAdmin Tips, Tricks and other Software Tools

User Tools

Site Tools


python_notes

Python Install Notes

11 Oct 2020

To upgrade pip modules manually when dependencies give an error:

# python3 -m pip --list outdated
# python3 -m pip install --upgrade <package1> <package2> 

These are reported as outdated:

[root: ~]# python3 -m pip list --outdated
Package       Version    Latest    Type
------------- ---------- --------- -----
certifi       2020.4.5.1 2020.6.20 wheel
idna          2.9        2.10      wheel
requests      2.23.0     2.24.0    wheel
selenium-wire 1.0.12     2.1.1     wheel
setuptools    46.4.0     50.3.0    wheel
urllib3       1.25.9     1.25.10   wheel

All upgraded using the command:

python3 -m pip install --upgrade <package_name>

9 Oct 2020

Updated Chrome via yum to version 86.0.4240.75-1 and now check_envoy.pl fails.

Did the following as root (checked on the VM “CENTOS78-test” first) to fix:

# /usr/bin/python3 -m pip uninstall chromedriver-binary
# /usr/bin/python3 -m pip install chromedriver-binary
# /usr/bin/python3 -m pip install --upgrade pip
# find /usr -name "chromedriver" -exec ls -l {} \;
# chmod 755 /usr/local/lib/python3.6/site-packages/chromedriver_binary/chromedriver

6 Oct 2020

# python3 -m pip install demjson
# python3 -m pip install wheel

26 Aug 2020

Updated Chrome via yum to version 85.0.4183.83-1 and now check_envoy.pl fails.

Did the following as root to fix:

# /usr/bin/python3 -m pip uninstall chromedriver-binary
# /usr/bin/python3 -m pip install chromedriver-binary
# /usr/bin/python3 -m pip install --upgrade pip
# find /usr -name "chromedriver" -exec ls -l {} \;
# chmod 755 /usr/local/lib/python3.6/site-packages/chromedriver_binary/chromedriver

Re-ran the cron and script worked.

20 May 2020

Updated Chrome via yum to version 83.0.4103.61-1 and now check_envoy.pl fails.

Did the following as root to fix:

# /usr/local/bin/pip3 uninstall chromedriver-binary
# /usr/local/bin/pip3 install chromedriver-binary
# /usr/bin/python3 -m pip install --upgrade pip
# find /usr -name "chromedriver" -exec ls -l {} \;
# chmod 755 /usr/local/lib/python3.6/site-packages/chromedriver_binary/chromedriver

Re-ran the cron and script worked.

Then tried looking at old packages needing an update:

# cd /usr/local/bin
# ./pip3 list --outdated
# pip_upgrade_outdated

8 April 2020

Upgraded Chrome via yum to version 81.0.4044.92 and now check_envoy.pl fails.

Did the following as root to fix:

# /usr/local/bin/pip3 uninstall chromedriver-binary
# /usr/local/bin/pip3 install chromedriver-binary
# /usr/local/bin/pip3 install pip-upgrade-outdated

# cd /usr/local/bin
# ./pip3 install --upgrade
# ./pip3 list --outdated
# pip_upgrade_outdated

# find /usr -name "chromedriver" -exec ls -l {} \;

/usr/local/lib/python3.6/site-packages/chromedriver_binary/chromedriver

# chmod 755 /usr/local/lib/python3.6/site-packages/chromedriver_binary/chromedriver

The pip upgrade moved the astral package to v2.1 which broke sun.py and it needed some major changes. Had to work through the Astral package docs.

11 December 2019

Upgraded Chrome via yum to version 79.0.3945.79 and now check_envoy.pl fails.

Did the following as root to fix:

# /usr/local/bin/pip3 uninstall chromedriver-binary
# /usr/local/bin/pip3 install chromedriver-binary
# /usr/local/bin/pip3 install pip-upgrade-outdated
# pip-upgrade-outdated

# find /usr -name "chromedriver" -exec ls -l {} \;

/usr/lib/python3.6/site-packages/chromedriver
/usr/local/lib/python3.6/site-packages/chromedriver_binary/chromedriver
# chmod 755 /usr/local/lib/python3.6/site-packages/chromedriver_binary/chromedriver

Note that both /usr/bin/pip3.6 and /usr/local/bin/pip3.6 exist on the system now…needs to be fixed.


With CentOS7.7, python3 can load from base. Do the following to fix previously-installed IUS release:

# yum remove python36u
# yum install python3
# yum remove ius-release
  • Then follow instructions for installing local python packages to ensure all still work.
  • If you have pip problems, uninstall/reinstall using instructions at https://pip.pypa.io/en/stable/installing/
  • Ensure pip3.6 is in your $PATH or you have a sym link to it (/usr/local/bin) in /usr/bin

Install Python 3.6 on CentOS 7:

Do some local configuration for my scripts (su - root):

pip3.6 install --upgrade pip
pip3.6 install --upgrade httplib2
pip3.6 install pymysql
pip3.6 install selenium-wire
pip3.6 install chromedriver
pip3.6 install chromedriver_binary
pip3.6 install dictor
pip3.6 install wget
pip3.6 install pip-upgrade-outdated

To update all pip packages:

# pip_upgrade_outdated

Note that https://pypi.org/project/pip-upgrade-outdated/ is a good resource to update all PIP packages.

Download and install geckodriver (see https://github.com/mozilla/geckodriver/releases)

As root, copy geckodriver to /usr/local/bin and ensure permissions are 755

Notes at https://stackoverflow.com/questions/40208051/selenium-using-python-geckodriver-executable-needs-to-be-in-path

Notes about Python database access

Python3.7 on Fedora 28:

Use “pip” to manage python packages:

# yum install python2-pip

To list installed python modules:

$ pip list
python_notes.txt · Last modified: 2020/10/11 12:58 by juckins