Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
python [2017/10/12 18:13] popel |
python [2018/06/12 12:33] popel [Virtual environments] |
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. |
| **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'' |
Then activate it with | Then activate it with |
virtualenv my-project-name | virtualenv my-project-name |
source my-project-name/bin/activate | source my-project-name/bin/activate |
| |
| ==== IPython in virtual envs. ==== |
| When using virtuaenvs, ipython is (in some versions) confused uses incorrect python interpreter. The following alias fixes this issue: |
| <code> |
| alias ipython="python -c 'import IPython; IPython.terminal.ipapp.launch_new_instance()'" |
| </code> |
| |
===== Installing directly from Git ===== | ===== Installing directly from Git ===== |