Вопросы написания собственного программного кода (на любых языках)
Модератор: Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 26 авг 2018, 13:34
Olej писал(а):
Код: Выделить всё
[olej@xenix ~]$ sudo python3 -m pip install virtualenvwrapper
WARNING: Running pip install with root privileges is generally not a good idea. Try `__main__.py install --user` instead.
Collecting virtualenvwrapper
...
Виртуальная среда Python – Основы
Кроме этого, у вас теперь в распоряжении имеются доступные команды оболочки, которые помогут в управлении виртуальной средой. Вот несколько из них:
workon
deactivate
mkvirtualenv
cdvirtualenv
rmvirtualenv
Код: Выделить всё
[olej@xenix ~]$ workon --help
Usage: workon env_name
Deactivate any currently activated virtualenv
and activate the named environment, triggering
any hooks in the process.
workon
Print a list of available environments.
(See also lsvirtualenv -b)
workon (-h|--help)
Show this help message.
workon (-c|--cd) envname
After activating the environment, cd to the associated
project directory if it is set.
workon (-n|--no-cd) envname
After activating the environment, do not cd to the
associated project directory.
Код: Выделить всё
[olej@xenix ~]$ deactivate --help
bash: deactivate: команда не найдена
Код: Выделить всё
[olej@xenix ~]$ mkvirtualenv --help
Usage: mkvirtualenv [-a project_path] [-i package] [-r requirements_file] [virtualenv options] env_name
-a project_path
Provide a full path to a project directory to associate with
the new environment.
-i package
Install a package after the environment is created.
This option may be repeated.
-r requirements_file
Provide a pip requirements file to install a base set of packages
into the new environment.
virtualenv help:
Usage: virtualenv [OPTIONS] DEST_DIR
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-v, --verbose Increase verbosity.
-q, --quiet Decrease verbosity.
-p PYTHON_EXE, --python=PYTHON_EXE
The Python interpreter to use, e.g.,
--python=python3.5 will use the python3.5 interpreter
to create the new environment. The default is the
interpreter that virtualenv was installed with
(/usr/bin/python3)
--clear Clear out the non-root install and start from scratch.
--no-site-packages DEPRECATED. Retained only for backward compatibility.
Not having access to global site-packages is now the
default behavior.
--system-site-packages
Give the virtual environment access to the global
site-packages.
--always-copy Always copy files rather than symlinking.
--relocatable Make an EXISTING virtualenv environment relocatable.
This fixes up scripts and makes all .pth files
relative.
--no-setuptools Do not install setuptools in the new virtualenv.
--no-pip Do not install pip in the new virtualenv.
--no-wheel Do not install wheel in the new virtualenv.
--extra-search-dir=DIR
Directory to look for setuptools/pip distributions in.
This option can be used multiple times.
--download Download preinstalled packages from PyPI.
--no-download, --never-download
Do not download preinstalled packages from PyPI.
--prompt=PROMPT Provides an alternative prompt prefix for this
environment.
--setuptools DEPRECATED. Retained only for backward compatibility.
This option has no effect.
--distribute DEPRECATED. Retained only for backward compatibility.
This option has no effect.
--unzip-setuptools DEPRECATED. Retained only for backward compatibility.
This option has no effect.
Код: Выделить всё
[olej@xenix ~]$ cdvirtualenv --help
ERROR: no virtualenv active, or active virtualenv is missing
[olej@xenix ~]$ rmvirtualenv --help
Removing --help...
Did not find environment /home/olej/.virtualenvs/--help to remove.
Понятно, что некоторые из команда работают только из или при запущенном виртуальном окружении.
Документация по командам здесь:
virtualenvwrapper
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 26 авг 2018, 17:37
А теперь, что ещё гораздо важнее (для моих целей) - на одноплатном микрокомпьютере
Orange Pi On.
Только ключевые моменты:
- установить это пользуясь Pyton 2 у меня так и не получилось ... но это ничего не значит - сбился по дороге на Python 3...
Код: Выделить всё
olej@orangepione:~$ sudo python3 -m pip install virtualenv
/usr/bin/python3: No module named pip
- первая неожиданность...
Код: Выделить всё
olej@orangepione:~$ aptitude search pip | grep python
p python-apipkg - namespace control and lazy-import mechanism for Python
p python-django-pipeline - Asset packaging library for Django
p python-django-pipeline-doc - Documentation for Django Pipeline library
p python-jsonpipe - Convert JSON to a UNIX-friendly line-based format
i python-pip - Python package installer
i A python-pip-whl - Python package installer
v python2.7-jsonpipe -
p python3-apipkg - namespace control and lazy-import mechanism for Python 3
p python3-django-pipeline - Asset packaging library for Django (Python3 version)
p python3-pip - Python package installer
Код: Выделить всё
olej@orangepione:~$ sudo apt install python3-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
Recommended packages:
python3-dev python3-setuptools python3-wheel
The following NEW packages will be installed:
python3-pip
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 142 kB of archives.
After this operation, 599 kB of additional disk space will be used.
Get:1 http://cdn-fastly.deb.debian.org/debian stretch/main armhf python3-pip all 9.0.1-2 [142 kB]
Fetched 142 kB in 0s (151 kB/s)
Selecting previously unselected package python3-pip.
(Reading database ... 77624 files and directories currently installed.)
Preparing to unpack .../python3-pip_9.0.1-2_all.deb ...
Unpacking python3-pip (9.0.1-2) ...
Setting up python3-pip (9.0.1-2) ...
Processing triggers for man-db (2.7.6.1-2) ...
- повторяем:
Код: Выделить всё
olej@orangepione:~$ sudo python3 -m pip install virtualenv
Collecting virtualenv
Using cached https://files.pythonhosted.org/packages/b6/30/96a02b2287098b23b875bc8c2f58071c35d2efe84f747b64d523721dc2b5/virtualenv-16.0.0-py2.py3-none-any.whl
Installing collected packages: virtualenv
Successfully installed virtualenv-16.0.0
olej@orangepione:~$ sudo python3 -m pip install virtualenvwrapper
Collecting virtualenvwrapper
Using cached https://files.pythonhosted.org/packages/2b/8c/3192e10913ad945c0f0fcb17e9b2679434a28ad58ee31ce0104cba3b1154/virtualenvwrapper-4.8.2-py2.py3-none-any.whl
Collecting stevedore (from virtualenvwrapper)
Using cached https://files.pythonhosted.org/packages/a1/d9/93a975469c53a9ee85de9ec0deb12345aa777748b4c263860668592344fe/stevedore-1.29.0-py2.py3-none-any.whl
Collecting virtualenv-clone (from virtualenvwrapper)
Using cached https://files.pythonhosted.org/packages/6d/c2/dccb5ccf599e0c5d1eea6acbd058af7a71384f9740179db67a9182a24798/virtualenv_clone-0.3.0-py2.py3-none-any.whl
Requirement already satisfied: virtualenv in /usr/local/lib/python3.5/dist-packages (from virtualenvwrapper)
Collecting pbr!=2.1.0,>=2.0.0 (from stevedore->virtualenvwrapper)
Using cached https://files.pythonhosted.org/packages/69/1c/98cba002ed975a91a0294863d9c774cc0ebe38e05bbb65e83314550b1677/pbr-4.2.0-py2.py3-none-any.whl
Collecting six>=1.10.0 (from stevedore->virtualenvwrapper)
Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Installing collected packages: pbr, six, stevedore, virtualenv-clone, virtualenvwrapper
Successfully installed pbr-4.2.0 six-1.11.0 stevedore-1.29.0 virtualenv-clone-0.3.0 virtualenvwrapper-4.8.2
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 26 авг 2018, 17:49
Olej писал(а):
- повторяем:
- редактируем $HOME/~/.bashrc, дописываем туда:
Код: Выделить всё
olej@orangepione:~/Face$ tail -n6 ~/.bashrc
# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs # optional
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 # optional
# export PROJECT_HOME=$HOME/projects # optional
source /usr/local/bin/virtualenvwrapper.sh
- в другом (или в этом) окне терминала применям изменения ... и ... вторая неожиданность:
Код: Выделить всё
olej@orangepione:~/Face$ source ~/.bashrc
Traceback (most recent call last):
File "/usr/lib/python3.5/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.5/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.5/dist-packages/virtualenvwrapper/hook_loader.py", line 16, in <module>
from stevedore import ExtensionManager
File "/usr/local/lib/python3.5/dist-packages/stevedore/__init__.py", line 11, in <module>
from .extension import ExtensionManager
File "/usr/local/lib/python3.5/dist-packages/stevedore/extension.py", line 17, in <module>
import pkg_resources
ImportError: No module named 'pkg_resources'
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 and that PATH is
set properly.
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 26 авг 2018, 17:52
Olej писал(а):
... и ... вторая неожиданность:
Код: Выделить всё
olej@orangepione:~$ apt search pkg_resources
Sorting... Done
Full Text Search... Done
pypy-pkg-resources/stable 33.1.1-1 all
Package Discovery and Resource Access using pkg_resources
python-pkg-resources/stable 33.1.1-1 all
Package Discovery and Resource Access using pkg_resources
python3-pkg-resources/stable 33.1.1-1 all
Package Discovery and Resource Access using pkg_resources
Код: Выделить всё
olej@orangepione:~$ sudo apt install python3-pkg-resources
[sudo] password for olej:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
python3-setuptools
The following NEW packages will be installed:
python3-pkg-resources
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 137 kB of archives.
After this operation, 523 kB of additional disk space will be used.
Get:1 http://cdn-fastly.deb.debian.org/debian stretch/main armhf python3-pkg-resources all 33.1.1-1 [137 kB]
Fetched 137 kB in 1s (124 kB/s)
Selecting previously unselected package python3-pkg-resources.
(Reading database ... 77702 files and directories currently installed.)
Preparing to unpack .../python3-pkg-resources_33.1.1-1_all.deb ...
Unpacking python3-pkg-resources (33.1.1-1) ...
Setting up python3-pkg-resources (33.1.1-1) ...
Код: Выделить всё
olej@orangepione:~/Face$ source ~/.bashrc
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/premkproject
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/postmkproject
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/initialize
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/premkvirtualenv
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/postmkvirtualenv
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/prermvirtualenv
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/postrmvirtualenv
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/predeactivate
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/postdeactivate
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/preactivate
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/postactivate
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/get_env_details
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 26 авг 2018, 17:57
Создаю своё 1-е виртуальное окружение Python:
Код: Выделить всё
olej@orangepione:~/Face$ mkvirtualenv py3cv4 -p python3
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/olej/.virtualenvs/py3cv4/bin/python3
Also creating executable in /home/olej/.virtualenvs/py3cv4/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/py3cv4/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/py3cv4/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/py3cv4/bin/preactivate
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/py3cv4/bin/postactivate
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/py3cv4/bin/get_env_details
Смотрим как сразу же поменялся
вид приглашения системы на терминале:
Код: Выделить всё
(py3cv4) olej@orangepione:~/Face$ pip list
Package Version
---------- -------
pip 18.0
setuptools 40.2.0
wheel 0.31.1
(py3cv4) olej@orangepione:~/Face$ python --version
Python 3.5.3
Теперь это чистая Python-система со своими умолчаниями (версий) и инсталляциями.
P.S. Обратите внимание, что если у меня в основной системе Armbian версия Python по умолчанию 2.7.13, то в этом виртуальном окружении - 3.5.3.
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 26 авг 2018, 18:15
Olej писал(а):
Кроме этого, у вас теперь в распоряжении имеются доступные команды оболочки, которые помогут в управлении виртуальной средой. Вот несколько из них:
workon
deactivate
mkvirtualenv
cdvirtualenv
rmvirtualenv
Некоторые эксперименты:
Код: Выделить всё
(py3cv4) olej@orangepione:~/Face$ deactivate
olej@orangepione:~/Face$ rmvirtualenv py3cv4
Removing py3cv4...
olej@orangepione:~/Face$ mkvirtualenv py3cv4 -p python3
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/olej/.virtualenvs/py3cv4/bin/python3
Also creating executable in /home/olej/.virtualenvs/py3cv4/bin/python
Installing setuptools, pip, wheel...done.
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/py3cv4/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/py3cv4/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/py3cv4/bin/preactivate
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/py3cv4/bin/postactivate
virtualenvwrapper.user_scripts creating /home/olej/.virtualenvs/py3cv4/bin/get_env_details
(py3cv4) olej@orangepione:~/Face$
... - вышли - уничтожили - и заново создали - ...
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 07 ноя 2019, 23:58
Продолжу ... что там произошло за прошедшие сколько-то-там
лет?
Код: Выделить всё
olej@ACER:~/2019_WORK/HISTORY/11/07$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 08 ноя 2019, 00:01
Olej писал(а): ↑07 ноя 2019, 23:58
Продолжу ... что там произошло за прошедшие сколько-то-там
лет?
Код: Выделить всё
olej@ACER:~$ pip3 search virtualenv | grep ^virtual
virtualenv-switcher (0.1.1) - Virtualenv switcher.
virtualenv-api (2.1.17) - An API for virtualenv/pip
virtualenv-clone (0.5.3) - script to clone virtualenvs.
virtualenv-commands (0.2.3) - Additional commands for virtualenv.
virtualenv-tools (1.0) - A set of tools for virtualenv
virtualenv-tools3 (2.0.2) - A set of tools for virtualenv
virtualenv-mgr (1.0.4) - Tool to manage your virtualenvs
virtualenv-sh (0.2.2) - Convenient shell interface to virtualenv
virtualenv-multiver (0.5) - Python multi-version wrapper for virtualenv.
virtualenv-activator (0.1.2) - A better activate script for Python's virtualenv
virtualenv-hax (0.0.1) - A wrapper around virtualenv that avoids sys.path sadness.
virtualenv-relocate (0.1.0) - https://github.com/pypa/virtualenv/issues/558
virtualenv-bin (0.9.1) - Set of bash scripts that make bins installed in virtualenvs useful elsewhere.
virtualenv (16.7.7) - Virtual Python Environment builder
virtualenv-rewrite (14.7.0) - Virtual Python Environment Builder (complete rewrite)
virtualenv-emacs (0.1.5) - UNKNOWN
virtualenv-distribute (1.3.4.4) - Virtual Python Environment builder
virtualenvy (16.2.0) - A virtualenv fork
virtualenv2 (0.0.1) - virtualenv alternative
virtualenvwrapper (4.8.4) - Enhancements to virtualenv
virtualenv3 (0.0) - Obsolete fork of virtualenv
virtualfish (1.0.6) - A virtualenv wrapper for the Fish shell
virtual-node (0.1.0) - Install node.js into your virtualenv
virtualenvrunner (1.1.1) - Runner for shell commands in virtualenv
virtual-less (0.0.1-1.3.3) - Install lessc into your virtualenv
virtualenvutils (0.5.3) - manage virtualenv based utilities
virtualenvify (0.1.0) - Transform an existing Python project into a virtualenv
virtualenvcontext (0.1.6) - switch virtualenvs with a python context manager
Код: Выделить всё
olej@ACER:~$ pip3 list | grep virtualenv
WARNING: You are using pip version 19.2.3, however version 19.3.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
olej@ACER:~$ sudo pip3 install --upgrade pip
Collecting pip
Downloading https://files.pythonhosted.org/packages/00/b6/9cfa56b4081ad13874b0c6f96af8ce16cfbc1cb06bedf8e9164ce5551ec1/pip-19.3.1-py2.py3-none-any.whl (1.4MB)
|████████████████████████████████| 1.4MB 1.0MB/s
Installing collected packages: pip
Found existing installation: pip 19.2.3
Uninstalling pip-19.2.3:
Successfully uninstalled pip-19.2.3
Successfully installed pip-19.3.1
Установили...
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 08 ноя 2019, 00:07
Olej писал(а): ↑08 ноя 2019, 00:01
Установили...
Создаём среду виртуальных окружений:
Код: Выделить всё
olej@ACER:~$ pwd
/home/olej
olej@ACER:~$ mkdir python-virtual-environments
olej@ACER:~$ cd python-virtual-environments
Код: Выделить всё
olej@ACER:~/python-virtual-environments$ python3 -m venv pv1
The virtual environment was not created successfully because ensurepip is not
available. On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.
apt-get install python3-venv
You may need to use sudo with that command. After installing the python3-venv
package, recreate your virtual environment.
Failing command: ['/home/olej/python-virtual-environments/pv1/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
Облом...
Правим:
Код: Выделить всё
olej@ACER:~/python-virtual-environments$ sudo apt-get install python3-venv
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
python3.7-venv
Следующие НОВЫЕ пакеты будут установлены:
python3-venv python3.7-venv
Обновлено 0 пакетов, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 64 пакетов не обновлено.
Необходимо скачать 7 320 B архивов.
После данной операции объём занятого дискового пространства возрастёт на 44,0 kB.
Хотите продолжить? [Д/н] y
Пол:1 http://deb.debian.org/debian buster/main amd64 python3.7-venv amd64 3.7.3-2 [6 140 B]
Пол:2 http://deb.debian.org/debian buster/main amd64 python3-venv amd64 3.7.3-1 [1 180 B]
Получено 7 320 B за 0с (34,7 kB/s)
Выбор ранее не выбранного пакета python3.7-venv.
(Чтение базы данных … на данный момент установлено 414600 файлов и каталогов.)
Подготовка к распаковке …/python3.7-venv_3.7.3-2_amd64.deb …
Распаковывается python3.7-venv (3.7.3-2) …
Выбор ранее не выбранного пакета python3-venv.
Подготовка к распаковке …/python3-venv_3.7.3-1_amd64.deb …
Распаковывается python3-venv (3.7.3-1) …
Настраивается пакет python3.7-venv (3.7.3-2) …
Настраивается пакет python3-venv (3.7.3-1) …
Обрабатываются триггеры для man-db (2.8.5-2) …
Создаём
конкретное изолированное окружение:
Код: Выделить всё
olej@ACER:~/python-virtual-environments$ python3 -m venv pv1
Код: Выделить всё
olej@ACER:~/python-virtual-environments$ tree pv1
pv1
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── easy_install
│ ├── easy_install-3.7
│ ├── pip
│ ├── pip3
│ ├── pip3.7
│ ├── python -> python3
│ └── python3 -> /usr/bin/python3
├── include
├── lib
│ └── python3.7
│ └── site-packages
│ ├── easy_install.py
│ ├── pip
│ │ ├── __init__.py
│ │ ├── _internal
│ │ │ ├── build_env.py
│ │ │ ├── cache.py
│ │ │ ├── cli
│ │ │ │ ├── autocompletion.py
│ │ │ │ ├── base_command.py
│ │ │ │ ├── cmdoptions.py
│ │ │ │ ├── __init__.py
│ │ │ │ ├── main_parser.py
│ │ │ │ ├── parser.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── autocompletion.cpython-37.pyc
│ │ │ │ │ ├── base_command.cpython-37.pyc
│ │ │ │ │ ├── cmdoptions.cpython-37.pyc
│ │ │ │ │ ├── __init__.cpython-37.pyc
│ │ │ │ │ ├── main_parser.cpython-37.pyc
│ │ │ │ │ ├── parser.cpython-37.pyc
│ │ │ │ │ └── status_codes.cpython-37.pyc
│ │ │ │ └── status_codes.py
│ │ │ ├── commands
│ │ │ │ ├── check.py
│ │ │ │ ├── completion.py
│ │ │ │ ├── configuration.py
│ │ │ │ ├── download.py
│ │ │ │ ├── freeze.py
│ │ │ │ ├── hash.py
│ │ │ │ ├── help.py
│ │ │ │ ├── __init__.py
│ │ │ │ ├── install.py
│ │ │ │ ├── list.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── check.cpython-37.pyc
│ │ │ │ │ ├── completion.cpython-37.pyc
│ │ │ │ │ ├── configuration.cpython-37.pyc
│ │ │ │ │ ├── download.cpython-37.pyc
│ │ │ │ │ ├── freeze.cpython-37.pyc
│ │ │ │ │ ├── hash.cpython-37.pyc
│ │ │ │ │ ├── help.cpython-37.pyc
│ │ │ │ │ ├── __init__.cpython-37.pyc
│ │ │ │ │ ├── install.cpython-37.pyc
│ │ │ │ │ ├── list.cpython-37.pyc
│ │ │ │ │ ├── search.cpython-37.pyc
│ │ │ │ │ ├── show.cpython-37.pyc
│ │ │ │ │ ├── uninstall.cpython-37.pyc
│ │ │ │ │ └── wheel.cpython-37.pyc
│ │ │ │ ├── search.py
│ │ │ │ ├── show.py
│ │ │ │ ├── uninstall.py
│ │ │ │ └── wheel.py
│ │ │ ├── configuration.py
│ │ │ ├── download.py
│ │ │ ├── exceptions.py
│ │ │ ├── index.py
│ │ │ ├── __init__.py
│ │ │ ├── locations.py
│ │ │ ├── models
│ │ │ │ ├── candidate.py
│ │ │ │ ├── format_control.py
│ │ │ │ ├── index.py
│ │ │ │ ├── __init__.py
│ │ │ │ ├── link.py
│ │ │ │ └── __pycache__
│ │ │ │ ├── candidate.cpython-37.pyc
│ │ │ │ ├── format_control.cpython-37.pyc
│ │ │ │ ├── index.cpython-37.pyc
│ │ │ │ ├── __init__.cpython-37.pyc
│ │ │ │ └── link.cpython-37.pyc
│ │ │ ├── operations
│ │ │ │ ├── check.py
│ │ │ │ ├── freeze.py
│ │ │ │ ├── __init__.py
│ │ │ │ ├── prepare.py
│ │ │ │ └── __pycache__
│ │ │ │ ├── check.cpython-37.pyc
│ │ │ │ ├── freeze.cpython-37.pyc
│ │ │ │ ├── __init__.cpython-37.pyc
│ │ │ │ └── prepare.cpython-37.pyc
│ │ │ ├── pep425tags.py
│ │ │ ├── __pycache__
│ │ │ │ ├── build_env.cpython-37.pyc
│ │ │ │ ├── cache.cpython-37.pyc
│ │ │ │ ├── configuration.cpython-37.pyc
│ │ │ │ ├── download.cpython-37.pyc
│ │ │ │ ├── exceptions.cpython-37.pyc
│ │ │ │ ├── index.cpython-37.pyc
│ │ │ │ ├── __init__.cpython-37.pyc
│ │ │ │ ├── locations.cpython-37.pyc
│ │ │ │ ├── pep425tags.cpython-37.pyc
│ │ │ │ ├── pyproject.cpython-37.pyc
│ │ │ │ ├── resolve.cpython-37.pyc
│ │ │ │ └── wheel.cpython-37.pyc
│ │ │ ├── pyproject.py
│ │ │ ├── req
│ │ │ │ ├── constructors.py
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── constructors.cpython-37.pyc
│ │ │ │ │ ├── __init__.cpython-37.pyc
│ │ │ │ │ ├── req_file.cpython-37.pyc
│ │ │ │ │ ├── req_install.cpython-37.pyc
│ │ │ │ │ ├── req_set.cpython-37.pyc
│ │ │ │ │ ├── req_tracker.cpython-37.pyc
│ │ │ │ │ └── req_uninstall.cpython-37.pyc
│ │ │ │ ├── req_file.py
│ │ │ │ ├── req_install.py
│ │ │ │ ├── req_set.py
│ │ │ │ ├── req_tracker.py
│ │ │ │ └── req_uninstall.py
│ │ │ ├── resolve.py
│ │ │ ├── utils
│ │ │ │ ├── appdirs.py
│ │ │ │ ├── compat.py
│ │ │ │ ├── deprecation.py
│ │ │ │ ├── encoding.py
│ │ │ │ ├── filesystem.py
│ │ │ │ ├── glibc.py
│ │ │ │ ├── hashes.py
│ │ │ │ ├── __init__.py
│ │ │ │ ├── logging.py
│ │ │ │ ├── misc.py
│ │ │ │ ├── models.py
│ │ │ │ ├── outdated.py
│ │ │ │ ├── packaging.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── appdirs.cpython-37.pyc
│ │ │ │ │ ├── compat.cpython-37.pyc
│ │ │ │ │ ├── deprecation.cpython-37.pyc
│ │ │ │ │ ├── encoding.cpython-37.pyc
│ │ │ │ │ ├── filesystem.cpython-37.pyc
│ │ │ │ │ ├── glibc.cpython-37.pyc
│ │ │ │ │ ├── hashes.cpython-37.pyc
│ │ │ │ │ ├── __init__.cpython-37.pyc
│ │ │ │ │ ├── logging.cpython-37.pyc
│ │ │ │ │ ├── misc.cpython-37.pyc
│ │ │ │ │ ├── models.cpython-37.pyc
│ │ │ │ │ ├── outdated.cpython-37.pyc
│ │ │ │ │ ├── packaging.cpython-37.pyc
│ │ │ │ │ ├── setuptools_build.cpython-37.pyc
│ │ │ │ │ ├── temp_dir.cpython-37.pyc
│ │ │ │ │ ├── typing.cpython-37.pyc
│ │ │ │ │ └── ui.cpython-37.pyc
│ │ │ │ ├── setuptools_build.py
│ │ │ │ ├── temp_dir.py
│ │ │ │ ├── typing.py
│ │ │ │ └── ui.py
│ │ │ ├── vcs
│ │ │ │ ├── bazaar.py
│ │ │ │ ├── git.py
│ │ │ │ ├── __init__.py
│ │ │ │ ├── mercurial.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── bazaar.cpython-37.pyc
│ │ │ │ │ ├── git.cpython-37.pyc
│ │ │ │ │ ├── __init__.cpython-37.pyc
│ │ │ │ │ ├── mercurial.cpython-37.pyc
│ │ │ │ │ └── subversion.cpython-37.pyc
│ │ │ │ └── subversion.py
│ │ │ └── wheel.py
│ │ ├── __main__.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-37.pyc
│ │ │ └── __main__.cpython-37.pyc
│ │ └── _vendor
│ │ ├── __init__.py
│ │ ├── pep517
│ │ │ ├── check.py
│ │ │ ├── colorlog.py
│ │ │ ├── compat.py
│ │ │ ├── envbuild.py
│ │ │ ├── __init__.py
│ │ │ ├── _in_process.py
│ │ │ ├── __pycache__
│ │ │ │ ├── check.cpython-37.pyc
│ │ │ │ ├── colorlog.cpython-37.pyc
│ │ │ │ ├── compat.cpython-37.pyc
│ │ │ │ ├── envbuild.cpython-37.pyc
│ │ │ │ ├── __init__.cpython-37.pyc
│ │ │ │ ├── _in_process.cpython-37.pyc
│ │ │ │ └── wrappers.cpython-37.pyc
│ │ │ └── wrappers.py
│ │ └── __pycache__
│ │ └── __init__.cpython-37.pyc
│ ├── pip-18.1.dist-info
│ │ ├── entry_points.txt
│ │ ├── INSTALLER
│ │ ├── LICENSE.txt
│ │ ├── METADATA
│ │ ├── RECORD
│ │ ├── top_level.txt
│ │ └── WHEEL
│ ├── pkg_resources
│ │ ├── extern
│ │ │ ├── __init__.py
│ │ │ └── __pycache__
│ │ │ └── __init__.cpython-37.pyc
│ │ ├── __init__.py
│ │ ├── py31compat.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-37.pyc
│ │ │ └── py31compat.cpython-37.pyc
│ │ └── _vendor
│ │ ├── appdirs.py
│ │ ├── __init__.py
│ │ ├── packaging
│ │ │ ├── __about__.py
│ │ │ ├── _compat.py
│ │ │ ├── __init__.py
│ │ │ ├── markers.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __about__.cpython-37.pyc
│ │ │ │ ├── _compat.cpython-37.pyc
│ │ │ │ ├── __init__.cpython-37.pyc
│ │ │ │ ├── markers.cpython-37.pyc
│ │ │ │ ├── requirements.cpython-37.pyc
│ │ │ │ ├── specifiers.cpython-37.pyc
│ │ │ │ ├── _structures.cpython-37.pyc
│ │ │ │ ├── utils.cpython-37.pyc
│ │ │ │ └── version.cpython-37.pyc
│ │ │ ├── requirements.py
│ │ │ ├── specifiers.py
│ │ │ ├── _structures.py
│ │ │ ├── utils.py
│ │ │ └── version.py
│ │ ├── __pycache__
│ │ │ ├── appdirs.cpython-37.pyc
│ │ │ ├── __init__.cpython-37.pyc
│ │ │ ├── pyparsing.cpython-37.pyc
│ │ │ └── six.cpython-37.pyc
│ │ ├── pyparsing.py
│ │ └── six.py
│ ├── pkg_resources-0.0.0.dist-info
│ │ ├── AUTHORS.txt
│ │ ├── INSTALLER
│ │ ├── LICENSE.txt
│ │ ├── METADATA
│ │ ├── RECORD
│ │ └── WHEEL
│ ├── __pycache__
│ │ └── easy_install.cpython-37.pyc
│ ├── setuptools
│ │ ├── archive_util.py
│ │ ├── build_meta.py
│ │ ├── cli-32.exe
│ │ ├── cli-64.exe
│ │ ├── cli.exe
│ │ ├── command
│ │ │ ├── alias.py
│ │ │ ├── bdist_egg.py
│ │ │ ├── bdist_rpm.py
│ │ │ ├── bdist_wininst.py
│ │ │ ├── build_clib.py
│ │ │ ├── build_ext.py
│ │ │ ├── build_py.py
│ │ │ ├── develop.py
│ │ │ ├── dist_info.py
│ │ │ ├── easy_install.py
│ │ │ ├── egg_info.py
│ │ │ ├── __init__.py
│ │ │ ├── install_egg_info.py
│ │ │ ├── install_lib.py
│ │ │ ├── install.py
│ │ │ ├── install_scripts.py
│ │ │ ├── launcher manifest.xml
│ │ │ ├── py36compat.py
│ │ │ ├── __pycache__
│ │ │ │ ├── alias.cpython-37.pyc
│ │ │ │ ├── bdist_egg.cpython-37.pyc
│ │ │ │ ├── bdist_rpm.cpython-37.pyc
│ │ │ │ ├── bdist_wininst.cpython-37.pyc
│ │ │ │ ├── build_clib.cpython-37.pyc
│ │ │ │ ├── build_ext.cpython-37.pyc
│ │ │ │ ├── build_py.cpython-37.pyc
│ │ │ │ ├── develop.cpython-37.pyc
│ │ │ │ ├── dist_info.cpython-37.pyc
│ │ │ │ ├── easy_install.cpython-37.pyc
│ │ │ │ ├── egg_info.cpython-37.pyc
│ │ │ │ ├── __init__.cpython-37.pyc
│ │ │ │ ├── install.cpython-37.pyc
│ │ │ │ ├── install_egg_info.cpython-37.pyc
│ │ │ │ ├── install_lib.cpython-37.pyc
│ │ │ │ ├── install_scripts.cpython-37.pyc
│ │ │ │ ├── py36compat.cpython-37.pyc
│ │ │ │ ├── register.cpython-37.pyc
│ │ │ │ ├── rotate.cpython-37.pyc
│ │ │ │ ├── saveopts.cpython-37.pyc
│ │ │ │ ├── sdist.cpython-37.pyc
│ │ │ │ ├── setopt.cpython-37.pyc
│ │ │ │ ├── test.cpython-37.pyc
│ │ │ │ ├── upload.cpython-37.pyc
│ │ │ │ └── upload_docs.cpython-37.pyc
│ │ │ ├── register.py
│ │ │ ├── rotate.py
│ │ │ ├── saveopts.py
│ │ │ ├── sdist.py
│ │ │ ├── setopt.py
│ │ │ ├── test.py
│ │ │ ├── upload_docs.py
│ │ │ └── upload.py
│ │ ├── config.py
│ │ ├── depends.py
│ │ ├── _deprecation_warning.py
│ │ ├── dep_util.py
│ │ ├── dist.py
│ │ ├── extension.py
│ │ ├── extern
│ │ │ ├── __init__.py
│ │ │ └── __pycache__
│ │ │ └── __init__.cpython-37.pyc
│ │ ├── glibc.py
│ │ ├── glob.py
│ │ ├── gui-32.exe
│ │ ├── gui-64.exe
│ │ ├── gui.exe
│ │ ├── __init__.py
│ │ ├── launch.py
│ │ ├── lib2to3_ex.py
│ │ ├── monkey.py
│ │ ├── msvc.py
│ │ ├── namespaces.py
│ │ ├── package_index.py
│ │ ├── pep425tags.py
│ │ ├── py27compat.py
│ │ ├── py31compat.py
│ │ ├── py33compat.py
│ │ ├── __pycache__
│ │ │ ├── archive_util.cpython-37.pyc
│ │ │ ├── build_meta.cpython-37.pyc
│ │ │ ├── config.cpython-37.pyc
│ │ │ ├── depends.cpython-37.pyc
│ │ │ ├── _deprecation_warning.cpython-37.pyc
│ │ │ ├── dep_util.cpython-37.pyc
│ │ │ ├── dist.cpython-37.pyc
│ │ │ ├── extension.cpython-37.pyc
│ │ │ ├── glibc.cpython-37.pyc
│ │ │ ├── glob.cpython-37.pyc
│ │ │ ├── __init__.cpython-37.pyc
│ │ │ ├── launch.cpython-37.pyc
│ │ │ ├── lib2to3_ex.cpython-37.pyc
│ │ │ ├── monkey.cpython-37.pyc
│ │ │ ├── msvc.cpython-37.pyc
│ │ │ ├── namespaces.cpython-37.pyc
│ │ │ ├── package_index.cpython-37.pyc
│ │ │ ├── pep425tags.cpython-37.pyc
│ │ │ ├── py27compat.cpython-37.pyc
│ │ │ ├── py31compat.cpython-37.pyc
│ │ │ ├── py33compat.cpython-37.pyc
│ │ │ ├── sandbox.cpython-37.pyc
│ │ │ ├── site-patch.cpython-37.pyc
│ │ │ ├── ssl_support.cpython-37.pyc
│ │ │ ├── unicode_utils.cpython-37.pyc
│ │ │ ├── version.cpython-37.pyc
│ │ │ ├── wheel.cpython-37.pyc
│ │ │ └── windows_support.cpython-37.pyc
│ │ ├── sandbox.py
│ │ ├── script (dev).tmpl
│ │ ├── script.tmpl
│ │ ├── site-patch.py
│ │ ├── ssl_support.py
│ │ ├── unicode_utils.py
│ │ ├── _vendor
│ │ │ ├── __init__.py
│ │ │ ├── packaging
│ │ │ │ ├── __about__.py
│ │ │ │ ├── _compat.py
│ │ │ │ ├── __init__.py
│ │ │ │ ├── markers.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── __about__.cpython-37.pyc
│ │ │ │ │ ├── _compat.cpython-37.pyc
│ │ │ │ │ ├── __init__.cpython-37.pyc
│ │ │ │ │ ├── markers.cpython-37.pyc
│ │ │ │ │ ├── requirements.cpython-37.pyc
│ │ │ │ │ ├── specifiers.cpython-37.pyc
│ │ │ │ │ ├── _structures.cpython-37.pyc
│ │ │ │ │ ├── utils.cpython-37.pyc
│ │ │ │ │ └── version.cpython-37.pyc
│ │ │ │ ├── requirements.py
│ │ │ │ ├── specifiers.py
│ │ │ │ ├── _structures.py
│ │ │ │ ├── utils.py
│ │ │ │ └── version.py
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-37.pyc
│ │ │ │ ├── pyparsing.cpython-37.pyc
│ │ │ │ └── six.cpython-37.pyc
│ │ │ ├── pyparsing.py
│ │ │ └── six.py
│ │ ├── version.py
│ │ ├── wheel.py
│ │ └── windows_support.py
│ └── setuptools-40.8.0.dist-info
│ ├── AUTHORS.txt
│ ├── dependency_links.txt
│ ├── entry_points.txt
│ ├── INSTALLER
│ ├── LICENSE.txt
│ ├── METADATA
│ ├── RECORD
│ ├── top_level.txt
│ ├── WHEEL
│ └── zip-safe
├── lib64 -> lib
├── pyvenv.cfg
└── share
└── python-wheels
├── appdirs-1.4.3-py2.py3-none-any.whl
├── CacheControl-0.11.7-py2.py3-none-any.whl
├── certifi-2018.8.24-py2.py3-none-any.whl
├── chardet-3.0.4-py2.py3-none-any.whl
├── colorama-0.3.7-py2.py3-none-any.whl
├── distlib-0.2.8-py2.py3-none-any.whl
├── distro-1.3.0-py2.py3-none-any.whl
├── html5lib-1.0.1-py2.py3-none-any.whl
├── idna-2.6-py2.py3-none-any.whl
├── ipaddress-0.0.0-py2.py3-none-any.whl
├── lockfile-0.12.2-py2.py3-none-any.whl
├── packaging-19.0-py2.py3-none-any.whl
├── pip-18.1-py2.py3-none-any.whl
├── pkg_resources-0.0.0-py2.py3-none-any.whl
├── progress-1.2-py2.py3-none-any.whl
├── pyparsing-2.2.0-py2.py3-none-any.whl
├── pytoml-0.1.2-py2.py3-none-any.whl
├── requests-2.21.0-py2.py3-none-any.whl
├── retrying-1.3.3-py2.py3-none-any.whl
├── setuptools-40.8.0-py2.py3-none-any.whl
├── six-1.12.0-py2.py3-none-any.whl
├── urllib3-1.24.1-py2.py3-none-any.whl
├── webencodings-0.5.1-py2.py3-none-any.whl
└── wheel-0.32.3-py2.py3-none-any.whl
52 directories, 395 files
Код: Выделить всё
olej@ACER:~/python-virtual-environments$ du -hs pv1
6,7M pv1
И таким образом можем создать
сколько угодно изолированных виртуальных окружений...
Olej
-
Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
-
Контактная информация:
Непрочитанное сообщение
Olej » 08 ноя 2019, 00:14
Olej писал(а): ↑08 ноя 2019, 00:07
Создаём
конкретное изолированное окружение:
Заходим в
выбранное окружение:
Код: Выделить всё
olej@ACER:~/python-virtual-environments$ pwd
/home/olej/python-virtual-environments
Код: Выделить всё
olej@ACER:~/python-virtual-environments$ source pv1/bin/activate
(pv1) olej@ACER:~/python-virtual-environments$
Вот как
поменялось приглашение shell !
Смотрим
состав созданного окружения:
Код: Выделить всё
(pv1) olej@ACER:~/python-virtual-environments$ pip3 list
Package Version
------------- -------
pip 18.1
pkg-resources 0.0.0
setuptools 40.8.0
Вот оно - практически
пустое окружение, которое мы станем
наполнять инсталляцией Python-пакетов (я предпочитаю это делать pip).
Мы остаёмся в том же исходном каталоге:
Код: Выделить всё
(pv1) olej@ACER:~/python-virtual-environments$ pwd
/home/olej/python-virtual-environments
Olej
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей