[Çözüldü] Python3 PIL Modülü

Başlatan berkayaslan, 18 Nisan 2014 - 17:57:38

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

berkayaslan

İyi Günler;

http://www.pythonware.com/products/pil/ Sitesinden en baştaki Source Kit kısmını indirip bilgisayara kurdum. Sistem Ubuntu olunca python2 ve python3 te var. Kurdum ve her iki sürümdede

import PIL

yazınca sorun çıkmıyor. Ancak Python 2 sürümünde

Alıntı Yapfrom PIL import ImageTk

yazdığımda hata almayıp python3 ile aynı kodu yazınca aşağıdaki hatayı alıyorum:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "./PIL/ImageTk.py", line 178
    except Tkinter.TclError, v:
                           ^
SyntaxError: invalid syntax


aslında gidip kaynaktan düzeltebilirim ama bi' danışayım dedim.. Sorun nedir? Yanlış mı indirmişim.?
İf you wanna be the best, You must SMURF something. :)

xavier

#1
Alıntı Yap...A version for 3.X will be released later.
denmiş sitesinde ve hâlâ aynı şekilde duruyor. Muhtemelen indirdiğiniz modülün  P2 desteği var sadece. Grafik kütüphanelerini pek denediğimi söyleyemeyeceğim ama PIL'in çatallaması olan Pillow, P3 desteğine sahip, bir göz atın isterseniz. Tüm modülün yazımını P3'e uyarlamaktan daha kolay olur sanırım.
What would Gordon Freeman do?

berkayaslan

#2
Teşekkür ederim. Önerinizden sonra Pillow Download websitesinden en sondaki .zip uzantılı dosyayı indirdim. Uçbirimden ilgili dizine gidip:

$python setup.py install
komutunu yürüttüm. bazı hatalar aldım. İzin hatalarıydı. Bende başına sudo koyup yaptım. Bu kez kuruldu ama sorunlu kuruldu gibi.. Çünkü uçbirimde

$ python3
>>>import PIL
>>>Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'PIL'


hatası alıyorum..


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 19 Nisan 2014 - 07:25:31

Sanırım sadece o dizine kurmuşum. Açığım dizinde çalıştırınca PIL modülü çalışıyor.. .


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 19 Nisan 2014 - 07:28:03

Evet dizini silip tekrar sudosuz kurmayı denedim. Hata bu :

running install
Checking .pth file support in /usr/local/lib/python2.7/dist-packages/
error: can't create or remove files in install directory
The following error occurred while trying to add or remove files in the
installation directory:
    [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/test-easy-install-5056.pth'
The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:
    /usr/local/lib/python2.7/dist-packages/
Perhaps your account does not have write access to this directory?  If the
installation directory is a system-owned directory, you may need to sign in
as the administrator or "root" account.  If you do not have administrative
access to this machine, you may wish to choose a different installation
directory, preferably one that is listed in your PYTHONPATH environment
variable.
For information on other options, you may wish to consult the
documentation at:
  http://packages.python.org/distribute/easy_install.html
Please make the appropriate changes for your system and try again.




Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 19 Nisan 2014 - 18:35:30

Şey sanırım böyle olması daha iyi çünkü aynı sistemde Hem PIL hemde Pillow olmaması gerekiyormuş. E ben PIL modülünü silersem kötü sonuçlar doğabilir değil mi?
İf you wanna be the best, You must SMURF something. :)

xavier

#3
Verdiğiniz bağlantıdaki Pillow kaynak kodunu indirip sudo python setup.py install komutu ile kurdum. Ne var ki sizin aldığınız hatayı kendimde tekrarlayammıyorum. Python'u çalıştırdığım yerin bir önemi olmaksızın modül çalışıyor (import PIL ya da from PIL import Image gibi).

Ama terminal çıktılarınızdan anladığım kadarıyla, P2 için "python", P3 için "python3" komutlarını kullanıyorsunuz. sudo'suz kurulumda görebildiğim kadarıyla setup, P2'nin altında Pillow'u kurmaya çalışıyor. Ben Arch kullanıyorum, bende tam tersi. "python" P3 için, "python2" P2 için kullanmam gerekiyor. Mesela ben P2 için Pillow kurmaya kalksam komutu, "sudo python2 setup.py install" şeklinde vermem gerekirdi. Kurulumu P3 için yaptım. Kök dizininde "python" komutu ile P3'ü çalıştırıdım, modül çalştı.

[emre@arch /]$ python
Python 3.4.0 (default, Mar 17 2014, 22:57:51)
[GCC 4.8.2 20140206 (prerelease)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import PIL
>>>


Aynı dizinde P2'de ise çalışmadı.

[emre@arch /]$ python2
Python 2.7.6 (default, Feb 26 2014, 12:01:28)
[GCC 4.8.2 20140206 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import PIL
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named PIL
>>>


sonra Pillow'u bir de P2 için kurdum. sudo python2 setup.py install

Sonuç:

[emre@arch /]$ python2
Python 2.7.6 (default, Feb 26 2014, 12:01:28)
[GCC 4.8.2 20140206 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import PIL
>>>


Çalıştı.  :)

Modül aslında aynı. Her ikisi de PIL olarak çağırılıyor. Aynı isimde iki farklı modül olması, kodun hata vermesine sebep olur. Ama modül kaldırmanın sisteme bir zarar verdiğine hiç sahit olmadım. Ama modülleri bozduğum da oldu. En kötüsü Python'u yeniden kurarsınız.
Pillow'u bir de P3 için kurun. Komutu şöyle verin:
sudo python3 setup.py install
What would Gordon Freeman do?

berkayaslan

Öncelikle zamanını ayırıp bu detaylı anlatımı yaptığın için ne kadar teşekkür etsem az...

Sayende modülü kurdum. Ve temiz bir şekilde çalışıyor. Aslında 2.4 sürümünde P2 ve P3 hata veriyor (Halbuki 2 gün önce P2 sürümünde sorunsuz yüklemiştim). Bende 2.3.1 sürümünün kodlarını indirip onu anlattığınız üzere kurdum sorunsuzca halloldu. Çok teşekkürler...
İf you wanna be the best, You must SMURF something. :)