Правильный способ установки пакетов 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'
Если пакета нет в 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
установку пакетов только в эту среду, а не на всю систему .
conda
или virtualenv
:.
Установка пакетов Python из Jupyter Notebook
Если вы будете следовать этим правилам, ваш ArchLinux не сломается и не будет проблем с зависимостями между PACMAN и PIP.
Надеюсь, это будет полезно!
Для команды grep
вам не хватает шаблона FILE, например. текущий каталог:
$ grep -r "string to find".
По умолчанию, по крайней мере, для некоторых Unices используется стандартный ввод, когда он отсутствует. Изman grep
:«grep ищет именованные входные ФАЙЛЫ (или стандартный ввод, если файлы не названы или если в качестве имени файла указан один дефис -минус (-)...»
РЕДАКТИРОВАТЬ :Извините, теперь я вижу, что в OP конкретно упоминается GNU grep 3.4
. Это поведение (с использованием рабочего каталога вместо стандартного ввода )изменилось где-то после версии 2.7, и я этого не заметил. Я оставлю ответ здесь как урок, чтобы не читать вопрос полностью.