Папка site-packages существует для python2, но не для python3 - PullRequest
10 голосов
/ 23 мая 2019

Как пользователь root я вижу:

root@5d6f29f1d4e9:/usr/local/lib/python2.7# ls -a
.  ..  dist-packages  site-packages
root@5d6f29f1d4e9:/usr/local/lib/python3.6# ls -a
.  ..  dist-packages

и когда я запускаю это:

find / -type d -name 'site-packages'

единственный результат:

/usr/local/lib/python2.7/site-packages

Кто-нибудь знает, почему я не вижу site-package в 3.6?

Я установил python3 с:

 apt install -y build-essential libssl-dev libffi-dev python3-dev
 apt install -y python3-pip

и затем установил пакет python, используя:

 pip3 install gunicorn
 pip3 install wheel
 ...etc...

может быть, я плохо установил python3?

Ответы [ 2 ]

1 голос
/ 07 июня 2019

Если ваша цель - найти, куда питон устанавливает ваши пакеты, тогда читайте дальше.

  1. Просто откройте консоль python, используя python3.
  2. Проверьте, можете ли вы импортировать ваш пакет напрямую. (Когда я говорю прямо, я имею в виду без каких-либо virtualenv и т.д.) import gunicorn
  3. Теперь в консоли, если она работает без ошибок, это означает, что ваш python3 может найти пакет.
  4. Если вы думаете, где питон ищет пакеты, очевидным решением будет использование sys.path
  5. То есть import sys, а затем print(sys.path) Это должно дать вам список папок не более 10. Просто перейдите по папкам, и вы найдете путь, по которому пакеты устанавливаются по умолчанию.

OR Просто запустите python3 -m site

1 голос
/ 04 июня 2019

Кажется, это функция Debian с dist-пакетами вместо site-пакетов.Вы можете проверить путь к вашим установленным пакетам pip3: python3 -c "import wheel;print(wheel.__file__)"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...