У меня есть пользователи, которые создают пакеты conda и pip - я не могу это контролировать
Я использую артефакты для размещения частных репозиториев conda и pip, например, вот как работает частное репозиторий pip: https://www.jfrog.com/confluence/display/JFROG/PyPI+Repositories
Иногда существует частный пакет pip, необходимый среде conda или пакету. Как я могу настроить conda для получения моих частных пакетов pip из моего частного репо?
Я не нашел документации по этому поводу. Я хотел бы, чтобы это было максимально прозрачно для пользователей, поэтому они один раз настроили свою конфигурацию, и в своей среде conda они могут легко указать частный пакет pip, и это просто работает.
Conda не будет автоматически искать PyPI или альтернативные pip
-совместимые индексы, но при использовании --index-url
можно использовать флаги --extra-index-url
или pip install
. Например.,
# activate environment
conda activate foo
# ensure it has `pip` installed
conda list pip
# install with `pip`
pip install --extra-index-url http://localhost:8888 bar
foo.yaml
name: foo
channels:
- defaults
dependencies:
- python
- pip
- pip:
- --extra-index-url http://localhost:8888
- bar
Создание среды
conda env create -f foo.yaml
@red888 в соответствии с документами, похоже, вы можете использовать файл .netrc
, связку ключей или просто указать учетные данные в URL-адресе.
Интересно, что в документации jfrog нет информации о настройке частного репозитория pypi. Итак, для conda мне нужно будет использовать netrc, потому что он игнорирует pypirc?
@red888 не уверен. TBH, я никогда не использовал .pypirc
; Документы, кажется, указывают, что это только для загрузки в репозитории, и в этом случае Conda игнорирует его, а pip
не использует.
как указать --extra-index-url
в meta.yaml?
@ red888, может быть, я неправильно понял. Сборки пакетов Conda не могут зависеть от пакетов, установленных Pip.
Но он будет читать мой .pypirc, чтобы правильно получить имя пользователя и пароль? В противном случае, как он аутентифицируется в частном репо? Должен ли я вручную устанавливать pip или conda будет извлекать мои кредиты из pypirc во время установки/создания/обновления conda/и т. д.?