Python скрипты не работают без python -m - PullRequest
0 голосов
/ 28 мая 2020

Мне очень жаль, что я задаю этот вопрос, но я абсолютно невежественный

Я только что перешел на Ma c, получил python через brew, и все работает нормально, кроме за то, что я не могу открыть записные книжки Jupyter или получить доступ к пипу без команды

python3 -m pip 

или

python3 -m jupyterlab

Этого никогда не случалось я раньше на Linux или Windows, и я даже дважды проверил свой путь, чтобы убедиться, что каталоги python включены. Мне просто нужно создать псевдоним, или мне здесь не хватает чего-то еще?

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

Если вы установили пакеты без изменений (например, вы не удалили каталог bin случайно), вы всегда можете найти двоичный путь, отсутствующий в вашей PATH env var, выполнив следующие действия. Запустите

python3 -m pip show -f jupyterlab

. Это выведет список файлов, принадлежащих установленному пакету jupyterlab.

Теперь go через список файлов и найдите исполняемый файл, который вам не хватает. . Пусть это будет jupyter-lab для примера:

$ python -m pip show -f jupyterlab
Name: jupyterlab
...
Files:
../../../bin/jupyter-lab
...

Обратите внимание на относительный путь. Теперь найдите путь в строке Location:

$ python -m pip show -f jupyterlab
Name: jupyterlab
...
Location: /tmp/myenv/lib/python3.8/site-packages
...

Сопоставьте путь исполняемого файла с местоположением, чтобы получить абсолютный путь:

$ readlink -f /tmp/myenv/lib/python3.8/site-packages/../../../bin/jupyter-lab
/tmp/myenv/bin/jupyter-lab

Это путь к вашему исполняемый файл. Вызов его должен работать:

$ /tmp/myenv/bin/jupyter-lab -V
2.1.3

Теперь добавьте родительский каталог исполняемого файла в PATH и проверьте, найден ли jupyter-lab сейчас:

$ export PATH=$PATH:$(dirname /tmp/myenv/bin/jupyter-lab)
$ jupyter-lab -V
2.1.3

Как только он заработает, вы может сохранить PATH изменения в вашем профиле оболочки (например, ~/.zprofile для zsh в последней версии MacOS).

Этот подход соответствует OS agnosti c и будет работать так же в MacOS, Linux или Windows.

0 голосов
/ 28 мая 2020

каковы результаты

echo $PATH

- это каталоги, в которых скрипты pip и jupyterlab хранятся в этом PATH

If

which pip

или

which jupyterlab

возвращаются с пустыми результатами, тогда это, вероятно, так. Если вы использовали переключатель --user для установки чего-либо с помощью pip (или python3 -m pip), то это почти всегда причина. В OSX я думаю, что местоположение пользователя по умолчанию - ~/Libraries/bin или /Library/python3.8/site-packages, на Linux это всегда ~/.local/bin или ~/.local/python3.8/site-packages, поэтому вам, возможно, придется немного покопаться, чтобы их найти.

Очевидно, измените версию python в соответствии с вашей ситуацией.

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