Pertanyaan Bagaimana saya bisa menginstal Django untuk Python 3.x?


Saya menginstal Django dengan perintah ini:

sudo apt-get install python-django

Dan itu menginstal versi 1.5.4-1ubuntu1. Dokumen Django mengatakan bahwa pada versi 1.5, Django mendukung Python 3. Namun ketika saya menjalankan interpreter python 3 dan mencoba mengimpor Django, dikatakan tidak ada modul seperti itu. Saya mencoba mencari versi python3 dari Django, tetapi tidak ada paket seperti itu. Bagaimana saya bisa mendapatkan Django3? Saya lebih suka menggunakan paket ubuntu daripada menginstal sesuatu secara manual.


29
2018-01-06 18:59


asal


Periksa askubuntu.com/questions/666933/… Bekerja untuk saya ... :)


Jawaban:


Saya sangat menyarankan untuk menghindari pip3 untuk menginstal sesuatu di paket situs sistem. Saya sudah membuat argumen-argumen ini sebelumnya tapi saya akan memberi Anda catatan:

  • Pembaruan sistem menghancurkan segalanya
  • Instalasi paket apt dapat menimpa hal-hal yang dipasang di pip
  • Konflik versi
  • Upgrade distribusi tidak dapat diprediksi kekacauan. Serius Saya sudah kehilangan rambut untuk ini.

Saya akan sangat menyarankan penggunaan virtualenv. Ini adalah rasa sakit yang luar biasa di mana pun untuk pergi, tetapi setelah Anda mengaturnya, Anda memiliki lingkungan Python lengkap di bawah kendali penuh Anda. Ini berarti lebih banyak pekerjaan (Anda harus memeriksa hal-hal untuk pembaruan dan pip belum benar-benar membantu di sana) tetapi Anda tidak perlu khawatir tentang apa yang dilakukan Ubuntu.

Saya memiliki lingkungan untuk setiap situs (hanya duduk di subdirektori yang disebut venv). Beberapa orang — termasuk saya, sekali waktu — lebih suka berbagi lingkungan mereka di antara banyak situs. Saya menemukan ini lebih mudah untuk mempertahankan dalam hal menerbitkan pembaruan tetapi beberapa situs dapat menjadi rapuh atau membutuhkan versi lama dan yang memegang kembali seluruh lingkungan. YMMV.

Dalam hal memasang ini, dan hanya menampar wajah saya, virtualenv belum dikemas untuk Python 3 sehingga kami harus menggunakannya pip3:

$ sudo pip3 install virtualenv
...

$ virtualenv-3.3 myenv
Using base prefix '/usr'
New python executable in myenv/bin/python3
Also creating executable in myenv/bin/python
Installing setuptools, pip...done.

$ source myenv/bin/activate  # This is important!

Bash PS1 Anda sekarang harus digemakan (myenv) untuk memberi tahu Anda bahwa Anda berada di lingkungan yang berbeda. Kita dapat menguji lingkungan untuk memeriksa bahwa kita berada pada versi yang tepat (tidak menggunakan versi sistem untuk permulaan):

$ python --version
Python 3.3.2+
$ which python pip 
/home/oli/Desktop/myenv/bin/python
/home/oli/Desktop/myenv/bin/pip

Dan kemudian Anda bisa terus berjalan seolah-olah Anda adalah penguasa alam semesta. Anda tidak perlu menggunakan root pip lagi dan Anda tidak perlu menentukan pip3. Itu jauh lebih ramah.

$ pip install django umemcache
...

Jika Anda menggunakan sesuatu seperti itu uwsgi untuk meng-host ini (Anda harus) menggunakan flag -H nya (atau argumen konfigurasi rumah) untuk memberitahukannya di mana lingkungan Python tinggal.

Untuk membuat pengembangan lebih mudah, Anda dapat secara otomatis "mount" Anda virtualenv lingkungan Hidup. Ada banyak skrip di luar sana tapi yang ini milik saya (ini tinggal di bagian bawah saya ~/.bashrc:

export VENVDIR="/web"
export VENVDIR_VENV="$VENVDIR/venv"

venvcd() {
        wd=$(pwd)
        [[ $wd == $VENVDIR/* || $wd == $VENVDIR ]] && wasin=true || unset wasin

        builtin cd "$@"

        wd=$(pwd)
        if [[ $wd == $VENVDIR/* || $wd == $VENVDIR ]]; then
                source $VENVDIR_VENV/bin/activate
        else
                [ $wasin ] && deactivate
        fi
}
alias cd="venvcd"

cd .

Kapanpun saya cd ke /web (di mana semua situs pengembangan saya disimpan), itu me-mount virtualenv untuk saya. Perhatikan bahwa saya hanya memiliki satu lingkungan untuk semua situs saya sehingga ini hanya akan menyandingkan Anda jika Anda melakukan hal serupa. Ada banyak cara lain untuk melakukan hal serupa.


34
2018-01-23 10:58





Saya tahu bagaimana melakukan ini dengan pip. Ternyata saya butuhkan pip3:

sudo pip3 install Django

melakukan triknya.

Anda mungkin perlu mendapatkan pip3 oleh:

sudo apt-get install python3-pip

17
2018-01-16 19:44





Cowok ada cara mudah menggunakan virtualenvwrapper, sejauh ini yang paling mudah untuk mengelola lingkungan virtual Python 2.7 / 3.x di Ubuntu / Debian.

$ sudo apt-get install python3 virtualenvwrapper
$ mkvirtualenv <venv> -p python3
$ workon <venv> # sets into the virtualenv from any terminal.

Opsional aktifkan --system-site-packages untuk menggunakan kembali paket situs global.
virtualenv menginstal pip dan alat pengaturan python lainnya untuk membantu kami memulai dengan cepat.

$ pip install Django
$ pip install -r requirements.txt

3
2018-06-18 12:07





Django untuk Python3 kini telah ditambahkan baru-baru ini. Jadi cukup ketik terminal:

apt-get install python3-django


2
2017-08-12 07:37



E: Unable to locate package python3-django - Jon
Ini tidak tersedia untuk Ubuntu 14.04 Trusty Tahr. - Anwar
Saya tidak menyarankan menggunakan sistem-repos Django. Jika akan ada pembaruan, beberapa fungsi yang Anda gunakan mungkin tidak berfungsi setelah pembaruan. Lebih baik gunakan pendekatan virtual-env seperti yang ditunjukkan di atas. - 0xAffe
Saya menggunakan Debian terbaru (8, up-to-date), dan Django 1.7.11 (yang EOL!) Adalah versi terbaru yang tersedia di repositori. Sepertinya Ubuntu memiliki versi yang didukung (1.8.7.) Saya bertanya-tanya mengapa Debian sangat tertinggal? - Hydraxan14