Путь к кэшу пакетов не может пересекаться с общим путем установки

Обновлено: 01.07.2024

Иногда по тем или иным причинам невозможно установить пакет в стандартный каталог. Наиболее часто эта проблема дает о себе знать в случае когда:

  • у вас Windows и ваш пользователь назван кириллическими буквами (Маша, Петя и т.д.)
  • у вашего пользователя нет прав административного доступа к каталогу, в который устанавливаются пакеты

Чтобы проверить, где находится ваши текущие каталоги для установки пакетов, можно набрать в консоли команду .libPaths() . На Windows для этих целей резервируется сразу 2 каталога — пользовательский и системный:

На UNIX-подобных системах (macOS, Linux) используется только системный каталог:

  • наличие полных (административных) прав доступа у текущего пользователя
  • отсутствие кириллических символов в пути

Подходящие примеры каталогов: C:/Rlib , D:/Rlibraries . Создав каталог, вы можете решить проблему с пакетами временно или постоянно.

Временное решение:

  • при установке пакета укажите адрес каталога в параметре lib функции install.packages() . Например: install.packages("xlsx", lib = "C:/Rlib")
  • для загрузки пакета укажите местоположение пакета в дополнительном параметре lib.loc : library(xlsx, lib.loc = "C:/Rlib")

Постоянное решение:

  • добавьте путь к новому каталогу через функцию .libPaths() : .libPaths(c("С:/Rlib", .libPaths()))
  • используйте для установки и загрузки команды install.packages и library как обычно. Новые пакеты будут устанавливаться и загружаться из нового каталога, а системные пакеты будут по прежнему доступны из каталогов по умолчанию

Внимание: при добвлении пути в .libPaths() не пишите закрывающий слэш после имени каталога: "С:/Rlib" сработает, а "С:/Rlib/" нет!

Если добавление через .libPaths() по каким-то причинам не сработало, вы можете решить ту же задачу, используя системные переменные:

  1. Откройте список системных переменных (команда My Computer -> System Properties -> Advanced system properties -> Environment Variables -> User Variables).
  2. Создайте новую системную переменную (команда New User Variable), дайте ей имя R_LIBS и значение, равное пути к вашему каталогу ( C:/Rlib ).
  3. Сохраните результат.

Выглядеть это должно примерно так:


Системная переменная для библиотек

A.2 Устанавливается, но не копируется

в результате которого пакет не появляется в вашей библиотеке, хотя проблем с доступом к ней у вас нет.

Как правило, это свидетельствует о том, что копирование файлов пакета в библиотеку блокируется антивирусом. Пакеты загружаются из CRAN во временную директорию, там разархивируются и только после этого копируются в библиотеку. Это может восприниматься антивирусом как вредоносная манипуляция. Попробуйте выключите антивирус на время установки пакет. Если по каким-то причинам это не помогло, попробуйте метод, описанный здесь

Как изменить путь установки Visual Studio 2019?
Столкнулся с одной проблемой во время установки IDE Visual Studio. Вроде бы изменил путь на диск D.

Как в eclipse прописать путь к SDK
Как в eclipse прописать путь к SDK. Я просто сначала установил eclipse и ADT Plugin, запустил в.

Как вывести в окно textBox собственный путь расположения приложения?
У меня еще вопросик :) Как вывести в окно textBox собственный путь расположения приложения ? .


Как изменить цвет панели инструментов?
Добрый день, как изменить цвет menustrip пробовал background color менять, но не помогает.

Удали всё связанное с Visual Studio(в реестре тоже). Мне помогло. Для того чтобы эти поля стали изменяемыми, необходимо через Visual Studio Installer (то, что изображено на скриншоте) удалить имеющуюся редакцию студии. При повтороной установке данные поля можно будет изменить. В редакторе реестра есть соответствующий параметр "SharedInstallationPath" по пути: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup . Меняешь значение параметра на путь, который тебе нужен и все.

Как изменить номер расположения кнопок?
Подскажите ,как изменить номер расположения кнопок в текстовом поле? В одной из задач есть такое.


Как изменить вид панели инструментов joomla 3?
поставил joomla 3 и просто бесит что панель инструментов имеет вертикальный вид. как ее сделать.

Android SDK - нет пакетов
Добрый вечер.У меня проблема, что Android SDK нет пакетов(только 7.11 и 7.0) откуда их скачать или.


Как в IntellijIDEA указать SDK, а точнее, где этот путь брать
Собственно, вопрос уже озвучила. Путь к самому JDK я знаю, системные переменные готовы. Но где.

Как из nginx путём установки доп. пакетов сделать мощный веб сервер
Поделитесь материалами под ubuntu Как из nginx путём установки доп. пакетов сделать мощный веб.

Как изменить размеры блоков, не изменяя этим расположения объектов в них
(название темы указано неправильно случайно) Давно стоит такой вопрос: как изменить размеры.

Во-первых, зачем? А во-вторых, конвертируй deb пакет в архив и распаковывай куда хочешь.

Затем что в каталоге / кончилось место ) Конвертировать деб в архив . а если я с репозитория устанавливаю ?

1. chroot
2. apt-get -o Dir=/home/ .
3. dpkg --root=/home .

Тогда правильнее будет ему места добавить, или вынести /usr на отдельный раздел(большинство пакетов туда пишутся).

Затем что в каталоге / кончилось место

Чисти корень, для начала можешь удалить всё в /var/cache/apt/archives.

Конвертировать деб в архив . а если я с репозитория устанавливаю

При установке не в корень всё равно пакет не будет доступен в системе, т.к. бинарники ищутся в /bin, /usr/bin, /sbin, /usr/sbin, /opt/. библиотеки в /lib, /usr/lib.

kostik87 ★★★★★ ( 18.12.15 10:18:46 )
Последнее исправление: kostik87 18.12.15 10:20:42 (всего исправлений: 1)


Затем что в каталоге / кончилось место

почистить кэш пакетов, удалить старые логи. изменить размеры разделов, в конце концов

но извращаться с пакетами - это уж как-то совсем дико

а если вынести /usr пакеты будут нормально находится ? почему все так сложно ) Ладно тогда вопрос зачем при установки убунту рекомендуется создать раздел подкачки , небольшой раздел / и оставшееся место смонтировать /home ? если туда все равно ничего не поставить )

а если вынести /usr пакеты будут нормально находится ?

Ладно тогда вопрос зачем при установки убунту рекомендуется создать раздел подкачки , небольшой раздел / и оставшееся место смонтировать /home ?

С чего это вдруг небольшой? Гигабайт 10 - это как минимум, а лучше 20. Всё зависит от числа установленного софта.

если туда все равно ничего не поставить )

Почистил , 4 гб освободил ) Каталог / у меня 30 гб . Так что я с запасом взял . Ладно , в принципе ситуация ясна , всем спасибо

И чем же ты забил 30 Гб? Сколько /var/log весит?

kostik87 ★★★★★ ( 18.12.15 10:31:54 )
Последнее исправление: kostik87 18.12.15 10:33:40 (всего исправлений: 1)

а если вынести /usr пакеты будут нормально находится

установки убунту рекомендуется создать раздел подкачки , небольшой раздел / и оставшееся место смонтировать /home

Потому что надо думать, а не тупо следовать рекомендациям. /home советуют выносить дабы при смене дистрибутива не надо было ничего перенастраивать.

А кто сказал что я его забил , просто интересуюсь как в другой каталог устанавливать . До расширения раздела был 20 гб , место не хватило , тестил игрушки под линукс )


Логи и кэш надо периодически чистить.

Belen ★★ ( 18.12.15 10:36:41 )
Последнее исправление: Belen 18.12.15 10:37:52 (всего исправлений: 1)

Что значит не надо ничего перенастраивать , как это связано если все мое добро в /


перенастраивать не надо - в том смысле, что пользовательские настройки приложений остаются даже при переустановке системы/смене дистра и т.д.

Естественно, что раздел для /home не форматируется и uid/gid пользователя совпадает. ну или владельца потом поменять на соотв. каталог

Belen ★★ ( 18.12.15 10:39:03 )
Последнее исправление: Belen 18.12.15 10:40:24 (всего исправлений: 1)

Пользовательские настройки приложений находятся в домашней директории.

Конфиги софта хранятся в хомяке, следовательно когда меняешь один дистр на другой они автоматом поттягиваются.


Прежде чем что-то устанавливать, давайте разберёмся, что такое пакет, чем он отличается от модуля, и как с ним работать. У слова «пакет» применительно к Python два значения.

C одной стороны, пакеты Python — это Py-приложения, дополнения или утилиты, которые можно установить из внешнего репозитория: Github, Bitbucket, Google Code или официального Python Package Index . На сервере пакеты хранятся в .zip и .tar архивах, либо в дополнительной упаковке — «яйцах» (.egg, старый формат) или «колесах» (.whl). В составе пакета, как правило, есть сценарий установки setup.py, который хранит сведения о зависимостях — других пакетах и модулях, без которых пакет работать не будет.

С другой стороны, если речь об архитектуре Python-приложения, пакет — это каталог, внутри которого файл __init__.py и, опционально, другие каталоги и файлы .py . Так большую Python-программу разбивают на пакеты и модули. Модуль — файл с исходным кодом, который можно использовать в других приложениях: как «заготовку» для будущих проектов или как часть библиотеки/фреймворка. Но к теме статьи это прямого отношения не имеет, поэтому дальше мы будем говорить только о пакетах из репозиториев.

Чтобы за секунды устанавливать пакеты со всеми зависимостями, используют менеджер пакетов pip или модуль easy_install . В большинстве случаев рекомендуется использовать pip. И только если у вас есть инфраструктура на пакетах .egg, которые pip не открывает, нужен easy_install.

Установка PIP для Python 3 и 2

Если вы используете виртуальные окружения на базе venv или virtualenv, pip уже установлен. Начиная с Python 3.4 (для Python 2 — с версии 2.7.9) pip поставляется вместе с интерпретатором. Для более ранних версий устанавливать менеджер пакетов нужно вручную. Вариантов два:

C помощью скрипта get_pip.py — быстро.

Через setuptools — кроме pip сможем использовать easy_install.

Вариант 1. Скачиваем скрипт get_pip.py и запускаем в консоли. Для этого открываем терминал через Win+R>"cmd">OK и пишем:

Остальное установщик сделает сам: если нужно, попутно установит wheel (для распаковки .whl-колес) и setuptools. Чтобы запретить инсталляцию дополнительных инструментов, можно добавить в строку ключи --no-setuptools и/или --no-wheels.

Если возникает ошибка, путь к Python не прописан в переменной среды $PATH. Нужно либо найти эту переменную в системном реестре и задать её значение, либо каждый раз указывать полный путь до python.exe, а за ним уже имя исполняемого Py-файла:

Полный путь полезен и в том случае, если у вас на компьютере несколько версий Python и вы ставите пакет для одной из них.

Вариант 2. Скачиваем архив с setuptools из PYPI и распаковываем в отдельный каталог. В терминале переходим в директорию setuptools c файлом setup.py и пишем:

python setup.py install

Обновить pip для Python в Windows можно так:
python pip install -U pip

Если это не работает, нужно добавить путь к папке с pip в $PATH.

Установка пакета в pip

Пора запустить pip в Python и начать устанавливать пакеты короткой командой из консоли:

pip install имя_пакета

При установке в Windows, перед pip нужно добавить "python -m".

Обновить пакет не сложнее:

pip install имя_пакета -U

Если у вас последняя версия пакета, но вы хотите принудительно переустановить его:

pip install --force-reinstall

Посмотреть список установленных пакетов Python можно с помощью команды:

Найти конкретный пакет по имени можно командой "pip search". О других командах можно прочесть в справке, которая выдается по команде "pip help".

Удаление пакета Python

Когда пакет больше не нужен, пишем:

pip uninstall имя_пакета

Как установить пакеты в Python без pip

Формат .egg сейчас используют не часто, поэтому pip его не поддерживает. Модуль easy_install умеет устанавливать как .egg, так и обычные пакеты, но есть у него важные минусы:

он не удаляет пакеты,

он может пытаться установить недозагруженный пакет.

Использовать easy_install можно сразу после установки setuptools. Хранится модуль в папке Scripts вашего интерпретатора. Если у вас в $PATH верно прописан путь, ставить пакеты из PYPI можно короткой командой:

Для обновления после install и перед именем пакета нужно ставить ключ -U. Откатиться до нужной версии можно так:

Если нужно скачать пакет из альтернативного источника, вы можете задать URL или локальный адрес на компьютере:

Чтобы узнать об опциях easy_install, запустим его с ключом -h:

Список пакетов, установленных через easy_install, хранится в файле easy-install.pth в директории /libs/site-packages/ вашего Python.

К счастью, удалять установленные через easy_install пакеты можно с помощью pip. Если же его нет, потребуется удалить пакет вручную и стереть сведения о нем из easy-install.pth.

Теперь вы умеете ставить и удалять пакеты для вашей версии Python.

Кстати, для тех, кто изучает Python, мы подготовили список полезных и практичных советов.

Читайте также: