Emacs’de virtualenv ve pony-mode Kullanımı

Sanal Ortam Nasıl Oluşturulur

Emacs üzerinde virtualenv kullanabilmemiz için öncelikle sistemimizde virtualenv kurulu olması gerekiyor. Kullanım kolaylığı açısından bir de virtualenvwrapper kurmanızı tavsiye ederim.

Temel olarak virtualenvwrapper ile sanal ortam oluşturmak için izleyeceğimiz yol şöyle:

mkvirtualenv sanalortam_adi

Sanal ortam içerisinde bize gerekli olacak pip ve easy_install hazır kurulu olarak geliyor.
mkvirtualenv komutunu değiştirgeleri ile birlikte de kullanabiliriz:

--system-site-packages , --no-site-packages , --python=python_yorumlayicisi

Örnek olarak python3.3 sürümünü kullanacağımız bir sanal ortam oluşturalım ve içerisinde sistem paketleri de bulunsun:

mkvirtualenv snlortmpy3 --system-site-packages --python=python3.3

Sanal ortam oluşturulduktan sonra eğer etkinleşmemişse workon snlortampy3 komutu ile etkinleştirelim. ve ardından sanal ortam içerisine pip ile django kütüphane dosyalarını kuralım.

virtualenv-django

Ardından hangi dizin içerisinde çalışmayı düşünüyorsak o dizin içerisine gidelim ve django-admin startproject tasari komutu ile yeni bir tasarı oluşturalım. Ardından cd tasari komutu ile tasari dizini içerisine gidelim ve sunucuyu çalıştırmak için python manage.py runserver komutunu verelim.

Eğer her şey yolunda gittiyse sunucumuz sorunsuz bir şekilde çalışacaktır.

django-server

server-running

Temel virtualenvwrapper Komutları

mkvirtualenv = yeni sanal ortam oluştur.

rmvirtualenv = sanal ortamı sil.

workon = sanal ortamı etkinleştir.

deactivate = sanal ortamı etkisizleştir.

lssitepackages = sanal ortamda kurulu paketlerin listesini göster.

lsvirtualenv = sanal ortamları listele.

cpvirtualenv = sanal ortamı kopyala.

cdvirtualenv = .virtualenv dizinine git.

cdsitepackages = site-packages dizinine git.

Emacs Üzerinde virtualenv Kullanımı

Virtualenv’i etkinleştirme işlemini Emacs’de uçbirim üzerinden yapabileceğimiz gibi virtualenvwrapper.el kurarak komutlar ile de yapabiliriz.

Kullanımı oldukça basit sanal ortamı etkinleştirmek için:

M-x virtualenv-workon

Devre dışı bırakmak için:

M-x virtualenv-deactivate

komutlarını vermemiz yeterli.

pony-mode

Bu kip bize django ile uçbirim üzerinde yapacağımız işlemleri(sunucuyu çalıştırmak, yeniden başlatmak, durdurmak; oluşturduğumuz modelleri eşzamanlamak; yeni django uygulaması oluşturmak vb.)  emacs üzerinden yapabilmemiz için birçok kolaylık sağlar. pony-mode paketini melpa, marmalade, github artık nereden istiyorsak oradan kurabiliriz.

C-c C-p r = Sunucuyu çalıştır.
C-c C-p b = Sunucuyu çalıştır ve tarayıcıyı aç.
M-x pony-syncdb = Modelleri veritabanına işle.
M-x pony-restart-server = Sunucuyu yeniden çalıştır.
M-x pony-stopserver = Sunucuyu durdur.
C-c C-p ! = Python komut satırını aç.
C-c C-p d = İlişkili veritabanı komut satırını aç.

Eğer herhangi bir .py uzantılı dosya açtığımızda pony kipinin etkin olmasını istiyorsak aşağıdaki kodu ~/.emacs dosyamıza eklememiz yeterli:

(add-hook 'python-mode-hook 'pony-mode-disable)

 

emacs-django

Emacs içerisinde sanal ortamı etkinleştirdiğimiz zaman sunucu sanal ortamda hangi django sürümü, hangi python sürümü kurulu ise ona uygun olarak çalışacaktır. Örneğin sistemimizde django-1.6.5 kurulu olsun, bizim sanal ortamımızda ise django-1.5.8 sürümü kurulu olsun, bu durumda django-1.5.8 sürümü kullanılacaktır.

Ayrıntılı bilgi için:

http://virtualenvwrapper.readthedocs.org/

http://www.deadpansincerity.com/docs/pony/

https://virtualenv.pypa.io/en/latest/index.html