Issue
I currently have Python 3.7.4(64 bit) and Python 3.6.6(64 bit) on a Windows 10 64 bit laptop with both versions in my system environment variables(path).
I previously only had 3.7 and installed 3.6 to use pocketsphinx
, and now I want to upgrade PyAudio
of my 3.6. doing pip install --upgrade pyaudio
is upgrading the pyaudio
of 3.7. So, how do i upgrade(or even install) packages of specific python versions on a windows machine?
Here's also what I've tried:
python-3.6.6 pip install --upgrade pyaudio
,
python3.6.6 pip install --upgrade pyaudio
,
python3.6 pip install --upgrade pyaudio
and
pip3.6.6 install --upgrade pyaudio
.
Yes, these may be stupid, but I was helpless.
EDIT 1:
I also run pip install --upgrade pyaudio
in power shell by opening it in the directory where my python 3.6 is installed, which is(default installation directory for windows): C:\Users\--user-name--\AppData\Local\Programs\Python\Python36
like:
as you can see from the version, pip install
would still install new packages for python 3.7
Solution
The golden rule when one wants to access one of the multiple software versions (applies to any software (other than Python), on any OS) existing on a machine: use absolute paths.
There are multiple ways of pip install
ing (especially when involving VEnvs):
Run PIP directly - most frequently used (
pip install --upgrade pyaudio
)Run
python -m pip
(python -m pip install --upgrade pyaudio
)Run other convenience wrappers (Py (Win specific): [Python.Docs]: Using Python on Windows - From the command-line) (
py -3.6 -m pip install --upgrade pyaudio
)
But the form that I prefer (as it will always work - because it doesn't rely on the PATH environment variable), is the 2nd one:
"${PATH_TO_YOUR_PYTHON_3_6}" -m pip install --upgrade pyaudio
where ${PATH_TO_YOUR_PYTHON_3_6} is just a placeholder for the actual Python 3.6 executable path (e.g. %ProgramFiles%\Python 3.6\python.exe).
Check [Python.Docs]: Using Python on Windows - Installing Without UI for more details regarding install paths.
Generalizing:
"${PATH_TO_PYTHON_EXECUTABLE}" -m pip install ${PACKAGE_NAME}
where ${PACKAGE_NAME} is (obviously) the package name, and ${PATH_TO_PYTHON_EXECUTABLE} (using v3.9 as an example) can be (from my machines):
Win:
%ProgramFiles%\Python 3.9\python.exe
E:\Work\Dev\VEnvs\py_pc064_03.09_test0\Scripts\python.exe
F:\Install\pc064\Anaconda\Anaconda\Version\python.exe
Nix:
/usr/bin/python3.9
/opt/qti-aic/dev/python/qaic-env/bin/python
Answered By - CristiFati
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.