Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Adding Python 3.11 to `$PATH`

+3
−0

Hi, I'm new here. So basically I builded Python 3.11 (https://python.org/) from source (from GitHub python/cpython branch "3.11"). So, here what I did : (obviously first I downloaded the repo as ZIP)

cd Downloads
7z x cpython-3.11.zip
cd cpython-3.11
chmod +x configure
./configure
make

Everything is okay, I can run Python 3.11 only in the directory because it is not added to $PATH. And here is the problem.

What I tried :

  1. Rename the file ~/cpython-3.11/python to ~/cpython-3.11/python3.11
  2. Open the .bashrc file located in /home/[username]/
  3. Added that line of code at the end : export PATH="/home/hg/cpython-3.11/python3.11:$PATH

Note that my user name is hg (HGStyle). So I restarted my terminal and it does not work. Can someone help please ?

I tried to do the same thing on the .profile file but it still does not work. I tried to remove the quote marks but it still does not work.

Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

3 comment threads

The line `export PATH="/home/hg/cpython-3.11/python3.11:$PATH` seems to be missing the closing `"`. D... (1 comment)
Do you want to replace your previous python with 3.11 or do you want to install it in addition to the... (1 comment)
It might be helpful if you would also mention your operating system. And this might be a stupid quest... (1 comment)

1 answer

+2
−0

There are two possible issues that I can see.

First, as already brought up in a comment thread, it appears that the export command you added in your .bashrc is missing a final ". This should cause an error message to be printed when starting a shell, making it an easy error to spot.

Second and more likely to be the problem, $PATH points to directories to search for executable files; it does not point directly at specific executable files. So if you have a python binary originally in the directory ~/cpython-3.11, then within that directory do a mv python python3.11, then want to be able to start it by giving only its name (not a full path) you will need to add the directory it is in (~/cpython-3.11) to your $PATH.

Therefore, you should probably use something like

export PATH="~/cpython-3.11:$PATH"

in your .bashrc in order to get the results you want.

Note that while changing $PATH should be sufficient to make the shell invalidate cached command paths, you may need to start a whole new bash shell for it to actually pick up on the change. You can use type -a python3.11 to get a list of all locations which your shell currently considers candidates for executing as a bare python3.11, ordered by preference.

Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

Sign up to answer this question »

This community is part of the Codidact network. We have other communities too — take a look!

You can also join us in chat!

Want to advertise this community? Use our templates!

Like what we're doing? Support us! Donate