Sdílet prostřednictvím


Vytvoření vlastního kanálu Conda pro správu balíčků

Při instalaci balíčků Pythonu používá správce balíčků Conda k vyhledávání balíčků kanály. Možná budete muset vytvořit vlastní kanál Conda z různých důvodů. Můžete například zjistit, že:

  • váš pracovní prostor je chráněný exfiltrací dat a odchozí připojení jsou blokovaná.
  • máte balíčky, které nechcete nahrát do veřejných úložišť.
  • chcete nastavit alternativní úložiště pro uživatele v rámci vašeho pracovního prostoru.

V tomto článku vám poskytneme podrobného průvodce, který vám pomůže vytvořit vlastní kanál Conda v rámci účtu Azure Data Lake Storage.

Nastavení místního počítače

  1. Nainstalujte conda na místní počítač. K identifikaci verze Conda, která se používá ve stejném modulu runtime, můžete použít modul runtime Azure Synapse Spark.

  2. Pokud chcete vytvořit vlastní kanál, nainstalujte conda-build.

conda install conda-build
  1. Uspořádejte všechny balíčky pro platformu, kterou chcete obsluhovat. V tomto příkladu nainstalujeme archiv Anaconda na váš místní počítač.
sudo wget https://repo.continuum.io/archive/Anaconda3-4.4.0-Linux-x86_64.sh 
sudo chmod +x Anaconda3-4.4.0-Linux-x86_64.sh  
sudo bash Anaconda3-4.4.0-Linux-x86_64.sh -b -p /usr/lib/anaconda3 
export PATH="/usr/lib/anaconda3/bin:$PATH" 
sudo chmod 777 -R /usr/lib/anaconda3  
  1. Chcete-li vytvořit prostředí podobné prostředí, které je k dispozici v modulu runtime Azure Synapse, můžete si stáhnout tuto šablonu. Mezi šablonou a skutečným prostředím Azure Synapse mohou být drobné rozdíly. Po stažení můžete spustit následující příkaz:
apt-get -yq install gcc g++
conda env update --prune -f base_environment.yml

Připojení účtu úložiště k počítači

V dalším kroku připojíme účet Azure Data Lake Storage Gen2 k vašemu místnímu počítači. Tento proces lze provést také s účtem WASB; projdeme si ale příklad pro účet ADLSg2.

Další informace o připojení účtu úložiště k místnímu počítači najdete na této stránce.

  1. Blobfuse můžete nainstalovat z linuxového úložiště softwaru pro produkty Microsoftu.
wget https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb 
sudo dpkg -i packages-microsoft-prod.deb 
sudo apt-get update 
sudo apt-get install blobfuse fuse 
export AZURE_STORAGE_ACCOUNT=<storage-account-name>
export AZURE_STORAGE_SAS_TOKEN="<SAS>" 
export AZURE_STORAGE_BLOB_ENDPOINT=*.dfs.core.windows.net
  1. Vytvořte přípojný bod (mkdir /path/to/mount) a připojte kontejner objektů blob pomocí blobfuse. V tomto příkladu použijeme hodnotu privatechannel pro proměnnou mycontainer .
sudo mkdir /home/trusted-service-user/privatechannel 
sudo mkdir -p /mnt/blobfusetmp 
blobfuse /home/trusted-service-user/privatechannel --container-name=privatechannel --tmp-path=/mnt/blobfusetmp --use-adls=true --log-level=LOG_DEBUG 
sudo chown trusted-service-user /mnt/blobfusetmp 

Vytvoření kanálu

V další sadě kroků vytvoříme vlastní kanál Conda.

  1. Na místním počítači vytvořte adresář pro uspořádání všech balíčků pro váš vlastní kanál. Uspořádejte tar.bz2 všechny balíčky z do https://repo.anaconda.com/pkgs/main/linux-64/ podadresáře. Nezapomeňte také zahrnout všechny závislé balíčky tar.bz2.

cd ~/privatechannel/ 
mkdir -p channel/linux64 

<Add all .tar.bz2 from https://repo.anaconda.com/pkgs/main/linux-64/> 
// Note: Add all dependent .tar.bz2 as well 

cd channel 
mkdir noarch 
echo '{}' > noarch/repodata.json 
bzip2 -k noarch/repodata.json 

// Create channel 
conda index channel/noarch 
conda index channel/linux-64 
conda index channel
  1. Teď můžete zkontrolovat účet úložiště, ve kterém by se váš privatechannel/channel adresář vytvořil.

Poznámka

Conda neresituje token SAS přidružený ke kontejneru. Proto musíte kontejner privatechannel označit jako veřejný přístup.

Další informace najdete také v uživatelské příručce k vytváření vlastních kanálů Conda.

Oprávnění účtu úložiště

Teď budeme muset ověřit oprávnění k účtu úložiště. Pokud chcete tato oprávnění nastavit, přejděte na cestu, kde se vytvoří vlastní kanál. Pak vytvořte token SAS, který má oprávnění ke privatechannel čtení, výpisu a spuštění.

Název kanálu teď bude adresa URL SAS objektu blob, která se vygeneruje z tohoto procesu.

Vytvoření ukázkového konfiguračního souboru prostředí Conda

Nakonec ověřte proces instalace vytvořením ukázkového souboru Conda environment.yml . Pokud máte v pracovním prostoru povolenou ochranu před exfiltrací dat, musíte zadat nodefaults kanál v souboru prostředí.

Tady je příklad konfiguračního souboru Conda:

name: sample 
channels: 
  - https://<<storage account name>>.blob.core.windows.net/privatechannel/channel?<<SAS Token>
  - nodefaults 
dependencies: 
  - openssl 
  - ncurses 

Po vytvoření ukázkového souboru Conda můžete vytvořit virtuální prostředí Conda. Můžete to ověřit místně spuštěním následujících příkazů:

conda env create --file sample.yml  
source activate env 
conda list 

Teď, když jste ověřili vlastní kanál, můžete pomocí procesu správy fondu Pythonu aktualizovat knihovny ve fondu Apache Spark.

Další kroky