Rumah >pembangunan bahagian belakang >Tutorial Python >Pengalaman Saya dengan Persekitaran Maya, Docker dan Skrip Shell
Minggu ini, saya mempunyai tugasan yang menarik di mana rakan sekelas saya dan saya perlu menambah ciri pada projek sumber terbuka masing-masing. Namun, apabila rakan sekelas saya cuba menjalankan projek saya, dia mengalami masalah pergantungan yang teruk yang menyebabkan keseluruhan apl ranap. Selepas sedikit berulang-alik, kami berjaya membetulkannya dengan menggunakan gabungan persekitaran maya, Docker dan skrip shell mudah. Mari pecahkan perkara yang berlaku dan cara alatan ini boleh menjadikan hidup anda lebih mudah.
Jika anda menggunakan Python, persekitaran maya adalah satu kemestian. Mereka pada asasnya mencipta ruang terpencil di mana anda boleh memasang pakej untuk projek anda tanpa mengacaukan persediaan Python global anda. Ia seperti mempunyai taman permainan Python anda sendiri di mana anda boleh menambah dan mengalih keluar pakej dengan selamat.
Berikut ialah ringkasan ringkas tentang cara menyediakannya:
python3 -m venv venv source venv/bin/activate # For Windows, use: venv\Scripts\activate
Selepas itu, anda boleh memasang semua pakej anda menggunakan pip:
<p>pip install -r requirements.txt</p>
Kadangkala, walaupun dengan persekitaran maya, perkara masih boleh menjadi salah – seperti yang mereka lakukan untuk kita! Kebergantungan masih ranap kerana ia lebih merupakan isu peringkat sistem (ugh). Di situlah Docker datang untuk menyelamatkan hari ini.
Docker mencipta bekas yang membungkus apl anda dan semua kebergantungannya, termasuk pustaka sistem. Ini bermakna ia akan berjalan dengan cara yang sama pada setiap mesin.
Begini rupa Fail Docker asas kami:
<p># Use a lightweight Python image<br> FROM python:3.9-slim</p> <p># Set up a working directory<br> WORKDIR /usr/src/app</p> <p># Copy over the application files<br> COPY . .</p> <p># Install dependencies<br> RUN pip install --no-cache-dir -r requirements.txt</p> <p># Run the application<br> CMD ["python", "app.py"]</p>
Bina dan jalankan bekas Docker dengan arahan ini:
<p>docker build -t my-python-app .<br> docker run -p 5000:5000 my-python-app</p>
Skrip Shell adalah seperti pembantu peribadi projek anda. Mereka mengendalikan semua perkara persediaan yang membosankan untuk anda. Saya menyiapkan skrip ringkas (setup.sh) yang menyediakan persekitaran maya, memasang kebergantungan, membina imej Docker dan menjalankan bekas. Begini rupanya:
<p>#!/bin/bash</p> <p># Set up virtual environment<br> python3 -m venv venv<br> source venv/bin/activate</p> <p># Install dependencies<br> pip install -r requirements.txt</p> <p># Build Docker image<br> docker build -t my-python-app .</p> <p># Run Docker container<br> docker run -p 5000:5000 my-python-app</p>
Menyediakan persekitaran pembangunan boleh menjadi pening kepala, terutamanya apabila bekerjasama. Persekitaran maya adalah langkah pertama yang kukuh, tetapi apabila keadaan menjadi rumit, Docker adalah cara yang perlu dilakukan. Dan untuk menyatukan semuanya, skrip shell boleh menjadikan semuanya berjalan lancar.
Semoga ini membantu sesiapa sahaja yang menghadapi masalah yang sama! Jika anda mempunyai cara lain untuk mengatasi masalah seperti ini, beritahu saya dalam komen di bawah. Saya ingin mendengar daripada anda.
Atas ialah kandungan terperinci Pengalaman Saya dengan Persekitaran Maya, Docker dan Skrip Shell. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!