sys.path в python virtualenv - PullRequest
       78

sys.path в python virtualenv

0 голосов
/ 24 мая 2018

Я использую "чашу локальную" в виртуальной среде.Я не вижу библиотек, установленных в виртуальной среде.Внутри файла chalicelib / common.py я вижу путь (sys.path), который должен быть установлен на:

['/home/sudip/myapp', '/usr/local/bin', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages']

Но когда я запускаю python3.6 из консоли виртуальной среды, я вижу это:

(venv) myapp$ python3.6
Python 3.6.5 (default, Mar 29 2018, 03:28:50) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print (sys.path)
['', '/home/sudip/myapp/venv/lib/python36.zip', '/home/sudip/myapp/venv/lib/python3.6', '/home/sudip/myapp/venv/lib/python3.6/lib-dynload', '/usr/lib/python3.6', '/home/sudip//myapp/venv/lib/python3.6/site-packages']
>>> 

Здесь путь задан правильно. Почему это не происходит в первом случае.Следовательно, я получаю много ошибок импорта модуля при запуске приложения, например: ModuleNotFoundError: Нет модуля с именем 'jwt'.Кто-нибудь может помочь?

Спасибо, Судип

1 Ответ

0 голосов
/ 18 сентября 2018

Вам необходимо создать свой virtualenv с опцией --system-site-packages, чтобы получить доступ к системным (и сайтным) пакетам:

virtualenv -p python3 --system-site-packages myvenv
...