Description of problem: A user can not run `dstat` when configured to use its own python installation, for example, from anaconda. The error received is: $ dstat Traceback (most recent call last): File "/usr/bin/dstat", line 30, in <module> from pcp import pmapi, pmconfig ModuleNotFoundError: No module named 'pcp' for some reason pmpython is not using platform python, but the user's local python $ which pmpython /usr/bin/pmpython $ pmpython Python 3.11.4 | packaged by conda-forge | (main, Jun 10 2023, 18:08:17) [GCC 12.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. Version-Release number of selected component (if applicable): pcp-system-tools-6.0.4-2.el9.x86_64 How reproducible: 100% Steps to Reproduce: 1. install anaconda python 2. conda activate env 3. dstat
Thanks for reporting the issue. What does this command report? grep PCP_PYTHON_PROG /etc/pcp.conf rpm -qa | grep pcp | grep python The first should be indicating the system python, and this is what pmpython uses. cheers.
Thank you for the response. $ grep PCP_PYTHON_PROG /etc/pcp.conf PCP_PYTHON_PROG=python3 $ rpm -qa | grep pcp | grep python python3-pcp-6.0.5-1.el9.x86_64 $ which python3 /opt/miniconda3/envs/prod/bin/python3 I thought there was a mechanism to specify "platform python", but am not seeing it now. It seems like dstat should be hardcoding to /usr/bin/python3 as python3-pcp installs into /usr/lib64/python3.9/site-packages
Thanks Daryl. For PCP, you can specify the python version to be used across all PCP tools in /etc/pcp.conf - so quickest workaround for you here is to just do that for now. Longer term though I agree a fixed-path specification would be for the best, I'll get that change made in an upcoming release. cheers.