/usr/bin/env: ‘python’: No such file or directory
I am trying to install Gitlab Development Kit on Windows Ubuntu Bash.
$python3
output
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
$python
output
The program 'python' can be found in the following packages:
* python-minimal
* python3
Try: sudo apt install <selected package>
When I try to do this:
sudo apt-get install build-essential
./configure
make -j4 # adjust according to your available CPU capacity
sudo make install
This is the output after ./configure
$ ./configure
/usr/bin/env: ‘python’: No such file or directory
$ python --version
The program 'python' can be found in the following packages:
* python-minimal
* python3
Try: sudo apt install <selected package>
$which -a python
no output
How can I solve this? I am new to Ubuntu.
You do seem to have python3
installed, but it isn’t called python
and anyway the script you want to run (configure
) requires python 2. So:
-
Install python2
sudo apt-get install python2.7-minimal
-
Run it again
./configure
If that fails again, call it with python2 explicitly:
/usr/bin/python2.7 configure
I had the same problem, It got solved by linking python to python2.7 with the following commands
cd /usr/bin
sudo mv python python.bak
sudo ln -s /usr/bin/python2.7 /usr/bin/python
I had the same problem after installing Ubuntu 18.04 and trying to run some python scripts.
I tried:
sudo apt-get install python2.7-minimal
but I still got the same error. I solved it by:
sudo apt install python-minimal
Just for reference… I had a similar issue – running a python script from the docker container failed with “No such file or directory”, my solution was to force Unix style line endings on the checkout of the code and in the IDE (as it was bind-mounted from the Windows host to the container).
For Ubuntu 20.04 you can use following package to python
command. And it is python 3.
sudo apt install python-is-python3
Description of the package:
Description: symlinks /usr/bin/python to python3
Starting with the Debian 11 (bullseye) and Ubuntu 20.04 LTS (focal)
releases, all python packages use explicit python3 or python2
interpreter and do not use unversioned /usr/bin/python at all. Some
third-party code is now predominantly python3 based, yet may use
/usr/bin/python.
.
This is a convenience package which ships a symlink to point
the /usr/bin/python interpreter at the current default python3. It may
improve compatibility with other modern systems, whilst breaking some
obsolete or 3rd-party software.
Problem scenario:
/usr/bin/env: ‘python’: No such file or directory
Possible Solution #1
If Python 3 is not installed, install it: apt-get install python3
Possible Solution #2
If Python 3 has been installed, run these commands: whereis python3
Then we create a symlink to it: sudo ln -s /usr/bin/python3 /usr/bin/python
Check the spelling in the first line. Trailing spaces have been known to prevent the shell from locating the shell…
“#!/usr/bin/env tclsh
“
The training space confused bash.
Yet Another Solution:
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
update-alternatives: using /usr/bin/python3 to provide /usr/bin/python (python) in auto mode
Tested & verified on my 20.04LTS system. See man update-alternatives
for details. And, "No – it’s not necessary to have Python2 installed for this to work."
If you don’t want to mess up with your system configuration, you can just replace the first line of your configure
file
- Open it with your favorite text editor
- Replace
#!/usr/bin/env python
with#!/usr/bin/env python3
- Save and keep playing!