Issue
I have a .python-version
file, and when I create a Python repo with github and specify that it should have a .gitignore
, it adds the .python-version
file to it. It seems to me that that file should NOT be ignored since other people running the code on different machines would want to know what version of Python they need.
So why is it .gitignore
d?
Solution
While being too specific, you can still version that file (meaning: not include it in the default .gitignore
), as :
- it will be used only by
pyenv
- it is a good addition to the
README
, in order to illustrate what version of python is recommended for the specific project, - it can be overridden easily (if you are using
pyenv
), or simply ignored (if you don't havepyenv
).
As the article "How to manage multiple Python versions and virtual environments " states:
When setting up a new project that is to use Python 3.6.4 then
pyenv local 3.6.4
would be ran in its root directory.
This would both set the version, and create a.python-version
file, so that other contributors’ machines would pick it up.
But:
pyenv
looks in four places to decide which version of Python to use, in priority order:
- The
PYENV_VERSION
environment variable (if specified).
You can use thepyenv shell
command to set this environment variable in your current shell session.- The application-specific
.python-version
file in the current directory (if present).
You can modify the current directory's.python-version
file with thepyenv local
command.- The first
.python-version
file found (if any) by searching each parent directory, until reaching the root of your filesystem.- The global version file. You can modify this file using the
pyenv global
command.
If the global version file is not present,pyenv
assumes you want to use the "system" Python. (In other words, whatever version would run ifpyenv
weren't in yourPATH
.)
Answered By - VonC Answer Checked By - Gilberto Lyons (WPSolving Admin)