Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
python [2017/10/17 09:19] belohlavek [Virtual environments] |
python [2018/10/08 10:56] vodrazka [Python] |
In this guide, I expect you are using Python3 (and ''pip3''), but (for old projects) you can use Python2 (and ''pip2'') as well. | In this guide, I expect you are using Python3 (and ''pip3''), but (for old projects) you can use Python2 (and ''pip2'') as well. |
| |
* You can use the system Python (currently 2.7.6 and 3.4.3, in Ubuntu 14.04), but it is a bit old and will be changed when a new Ubuntu is installed at ÚFAL. | * You can use the system Python (currently 3.6.5, in Ubuntu 18.04) |
* You can use any Python from ''/opt/python/'', e.g. for 3.6.3 add the following line to your .bashrc: <code>export PATH=/opt/python/3.6.3/bin:"${PATH}"</code> | * You can use any Python from ''/opt/python/'', e.g. for 3.6.3 add the following line to your .bashrc: <code>export PATH=/opt/python/3.6.3/bin:"${PATH}"</code> |
* You can install modules with ''pip3''. If you are not using any [[#virtual environments]], you must add the ''-''''-user'' option, so it is installed in your home. In this case, don't forget the executable scripts are installed in ''~/.local/bin/'', so add the following line to your .bashrc: <code>export PATH=~/.local/bin:"${PATH}"</code> | * You can install modules with ''pip3''. If you are not using any [[#virtual environments]], you must add the ''-''''-user'' option, so it is installed in your home. In this case, don't forget the executable scripts are installed in ''~/.local/bin/'', so add the following line to your .bashrc: <code>export PATH=~/.local/bin:"${PATH}"</code> |
python3 -m venv my-project-name | python3 -m venv my-project-name |
where ''my-project-name'' can be a relative or absolute path to a directory which will be created. | where ''my-project-name'' can be a relative or absolute path to a directory which will be created. |
**Caveat:** the path to the directory should be rather short, there is a limit on shebang paths so you can get strange errors like ''ipython3: bad interpreter: No such file or directory'' if your ipython3 is installed in the venv starts with ''#!/..a..very..long..path..'' | **Caveat1:** the path to the directory should be rather short, there is a limit on shebang paths so you can get strange errors like ''ipython3: bad interpreter: No such file or directory'' if your ipython3 is installed in the venv starts with ''#!/..a..very..long..path..'' |
| **Caveat2:** If ''my-project-name'' is a relative path, it will be concatenated with ''pwd -P'', i.e. with your actual directory with all symlinks resolved. If you want symlinks in the path, you must provide absolute path as ''my-project-name''. Note that e.g. ''/net/work/people'' is currently (2018-06) resolved by ''pwd -P'' to ''/lnet/.nfs/spec/work/people/'', but this path does not work on machines with native Lustre support.) |
| |
You can use any Python version for the new environment, e.g. ''/opt/python/3.5.4/bin/python3 -m venv my-project-name-python3.5'' | You can use any Python version for the new environment, e.g. ''/opt/python/3.5.4/bin/python3 -m venv my-project-name-python3.5'' |