У меня установлен virtualenv в ~/bot/
(в подпапке venv
).
Недавно я заметил, что установка пакетов с pip install --user
или даже sudo pip install
устанавливает на этот virtualenv, дажепосле перезапуска.Python, похоже, не видит ~/bot/~
в python -m site
:
$ python -m site
sys.path = [
'/home/modelmat',
'/usr/lib/python37.zip',
'/usr/lib/python3.7',
'/usr/lib/python3.7/lib-dynload',
'/home/modelmat/.local/lib/python3.7/site-packages',
'/usr/lib/python3.7/site-packages',
'/usr/lib/python3.7/site-packages/keyrings.alt-3.0-py3.7.egg',
'/usr/lib/python3.7/site-packages/zgitignore-0.8.0-py3.7.egg',
'/usr/lib/python3.7/site-packages/urllib3-1.22-py3.7.egg',
'/usr/lib/python3.7/site-packages/SecretStorage-2.3.1-py3.7.egg',
'/usr/lib/python3.7/site-packages/requests-2.18.4-py3.7.egg',
'/usr/lib/python3.7/site-packages/python_dateutil-2.7.0-py3.7.egg',
'/usr/lib/python3.7/site-packages/pycparser-2.18-py3.7.egg',
'/usr/lib/python3.7/site-packages/psutil-5.4.3-py3.7-linux-x86_64.egg',
'/usr/lib/python3.7/site-packages/onedrivesdk-1.1.8-py3.7.egg',
'/usr/lib/python3.7/site-packages/keyring-11.0.0-py3.7.egg',
'/usr/lib/python3.7/site-packages/inotify_simple-1.1.7-py3.7.egg',
'/usr/lib/python3.7/site-packages/idna-2.6-py3.7.egg',
'/usr/lib/python3.7/site-packages/cryptography-2.1.4-py3.7-linux-x86_64.egg',
'/usr/lib/python3.7/site-packages/colorama-0.3.9-py3.7.egg',
'/usr/lib/python3.7/site-packages/click-6.7-py3.7.egg',
'/usr/lib/python3.7/site-packages/cffi-1.11.5-py3.7-linux-x86_64.egg',
'/usr/lib/python3.7/site-packages/certifi-2018.1.18-py3.7.egg',
'/usr/lib/python3.7/site-packages/bidict-0.13.1-py3.7.egg',
'/usr/lib/python3.7/site-packages/onedriveClient-2.0.1-py3.7.egg',
'/usr/lib/python3.7/site-packages/six-1.11.0-py3.7.egg',
]
USER_BASE: '/home/modelmat/.local' (exists)
USER_SITE: '/home/modelmat/.local/lib/python3.7/site-packages' (exists)
ENABLE_USER_SITE: True
Тем не менее, вот что показывают пакеты:
$ pip show websocket-client
Name: websocket-client
Version: 0.54.0
Summary: WebSocket client for Python. hybi13 is supported.
Home-page: https://github.com/websocket-client/websocket-client.git
Author: liris
Author-email: liris.pp@gmail.com
License: BSD
Location: /home/modelmat/NormoBot/venv/lib/python3.7/site-packages
Requires: six
Required-by:
Переустановка:
$ sudo pip uninstall websocket-client
Uninstalling websocket-client-0.54.0:
Would remove:
/home/modelmat/bot/venv/bin/wsdump.py
/home/modelmat/bot/venv/lib/python3.7/site-packages/websocket/*
/home/modelmat/bot/venv/lib/python3.7/site-packages/websocket_client-0.54.0.dist-info/*
Proceed (y/n)? y
Successfully uninstalled websocket-client-0.54.0
$ sudo pip install websocket-client
Collecting websocket-client
Using cached https://files.pythonhosted.org/packages/26/2d/f749a5c82f6192d77ed061a38e02001afcba55fe8477336d26a950ab17ce/websocket_client-0.54.0-py2.py3-none-any.whl
Requirement already satisfied: six in ./bot/venv/lib/python3.7/site-packages (from websocket-client) (1.11.0)
Installing collected packages: websocket-client
Successfully installed websocket-client-0.54.0
Показывает то же, что и предыдущий pip show
.Точно то же самое происходит с pip install --user
.
Я действительно не уверен, как это исправить, кажется, все установлено внутри моего virtualenv.