Home > Blockchain >  Python Path difference
Python Path difference

Time:11-23

what is the difference between them?

/Library/Developer/CommandLineTools/usr/bin/python3 

/usr/bin/python3

MacBook-Pro Desktop % whereis python3
/usr/bin/python3
MacBook-Pro Desktop % /usr/bin/python3 --version
Python 3.8.9
MacBook-Pro Desktop % /Library/Developer/CommandLineTools/usr/bin/python3 --version
Python 3.8.9



>python3                                                      
Python 3.7.9 (v3.7.9:13c94747c7, Aug 15 2020, 01:31:08) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from my_custom_module.__main__ import main
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'my_custom_module'

But it works with other

>/Library/Developer/CommandLineTools/usr/bin/python3 
>>>from my_custom_module.__main__ import main
it works

There is weird thing happens I mean, when I type full path I get 3.8.8 but when I type short name "python3" I get 3.7.9. though whereis returns as follow

MacBook-Pro Desktop % whereis python3
/usr/bin/python3


/usr/bin/python3
Python 3.8.9 (default, Aug  3 2021, 19:21:54) 
[Clang 13.0.0 (clang-1300.0.29.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

But

MacBook-Pro Desktop % python3         
Python 3.7.9 (v3.7.9:13c94747c7, Aug 15 2020, 01:31:08) 
[Clang 6.0 (clang-600.0.57)] on darwin

CodePudding user response:

I think your confusion lies in the whereis command. whereis python3 doesn't actually tell you what will be run when you use python3, it just searches the standard binary directories for the specified program (python3). I would recommend using which instead, as it searches the actual PATH that you use.

See man page for whereis, man page for which, comparison.

For example on my personal computer:

❯ whereis python3
/usr/bin/python3
❯ which python3
/usr/local/bin/python3
❯ /usr/bin/python3 --version
Python 3.8.9
❯ /usr/local/bin/python3 --version
Python 3.9.7
❯ python3 --version
Python 3.9.7
  • Related