В чем разница между grep -r и find здесь?

Правильный путь для ArchLinux

Правильный способ установки пакетов PYTHON в ArchLinux — использовать PACMAN! Чтобы установить пакеты на Python3, вы должны использовать

sudo pacman -S python-'package'

Если вы хотите установить пакеты из Python2, вы должны использовать

sudo pacman -S python2-'package'

Большинство пакетов python находятся в репозиториях ArchLinux, а пакеты, которых нет в AUR (Пользовательские репозитории ArchLinux)-для этих пакетов необходимо скачать файл PKGBUILD и скомпилировать. После этого вы должны использовать PACMAN для завершения установки

.

makepkg -s
sudo pacman -U 'compiled-package'

Второй правильный путь для ArchLinux

Если пакета нет в AUR или PKGBUILD не работает, вы можете использовать PIP для его установки на Python3

sudo pip install 'python-package'

или Python2

sudo pip2 install 'python-package'

БУДЬТЕ ОСТОРОЖНЫ :, когда вы используете pip, одна и та же папка установки используется совместно с pacman, и в большинстве случаев, особенно когда вы обновляете все системные пакеты (sudo pacman -Suy), возникает ошибка конфликта. Вы всегда должны предпочесть первый вариант из приведенных выше. Чтобы решить конфликтные проблемы, просто удалите пакет pipи установите эквивалентный пакет наpacman(pip uninstall 'python-package').

Вы можете дать шанс virtualenvили дажеconda

Если вы планируете разработать какое-либо приложение или пакет Python, лучше использовать виртуальные среды.

Для приложений упаковки Python вам следует попробоватьpoetryв настоящее время это лучший вариант для управления приложением от начала до конца.Это гораздо лучший вариант, чем requirements.txt+ setup.py.

Другой более простой вариант — use python-virtualenv. Это может обеспечить переносимость вашего кода, а также поддерживать старые пакеты. Установите его с помощью

sudo pacman -S python-virtualenv

и попробуйте это

virtualenv -p /usr/bin/python3 yourenv
source yourenv/bin/activate
pip install package-name

При создании этой среды yourenvвы настроите pipустановку пакетов только в эту среду, а не на всю систему .

Эти другие ссылки могут быть полезны, если вы хотите узнать больше об управлении пакетами в Linux с помощью condaили virtualenv:

.

Установка пакетов Python из Jupyter Notebook

Код Python в ArchLinux

Если вы будете следовать этим правилам, ваш ArchLinux не сломается и не будет проблем с зависимостями между PACMAN и PIP.

Надеюсь, это будет полезно!

-1
31.03.2020, 14:46
1 ответ

Для команды grepвам не хватает шаблона FILE, например. текущий каталог:

$ grep -r "string to find".

По умолчанию, по крайней мере, для некоторых Unices используется стандартный ввод, когда он отсутствует. Изman grep:«grep ищет именованные входные ФАЙЛЫ (или стандартный ввод, если файлы не названы или если в качестве имени файла указан один дефис -минус (-)...»

РЕДАКТИРОВАТЬ :Извините, теперь я вижу, что в OP конкретно упоминается GNU grep 3.4. Это поведение (с использованием рабочего каталога вместо стандартного ввода )изменилось где-то после версии 2.7, и я этого не заметил. Я оставлю ответ здесь как урок, чтобы не читать вопрос полностью.

1
19.03.2021, 02:32

Теги

Похожие вопросы