পাইথন ইমেজ লাইব্রেরি "ডিকোডার জেপিইজি উপলব্ধ নয়" বার্তাটি ব্যর্থ করে - পিআইএল


305

পিআইএল আমার সিস্টেমে জেপিজি সমর্থন করে।

আমি যখনই কোনও আপলোড করি তখন আমার কোডটি এতে ব্যর্থ হয়:

File "PIL/Image.py", line 375, in _getdecoder
    raise IOError("decoder %s not available" % decoder_name)
IOError: decoder jpeg not available

আমি কীভাবে এটি সমাধান করতে পারি?


22
এটি একটি বৈধ প্রশ্ন। পিআইএল একটি বিখ্যাত পাইথন লাইব্রেরি এবং এটি কিছু লিনাক্স সিস্টেমে একটি অদ্ভুত ত্রুটি দেয়। এই প্রশ্ন এবং উত্তরটি আমাকে কেবল সহায়তা করেছিল। এটি একটি সাধারণ এসও প্রশ্ন।
Nekes

আমার মধ্যে প্রগমাটিস্ট এবং ওসিডি বলে যে এটি সার্ভারফল্টের সাথে সম্পর্কিত, এসও-তে নয়। তবে কতজন প্রোগ্রামার এই সমস্যায় পড়েছেন? আমি প্রশ্নটি সার্ভারফল্টে স্থানান্তরিত করার জন্য ভোট দিয়েছি এবং এসও-তে একটি পুনর্নির্দেশ রেখেছি।
ফ্লিপএমসিএফ

1
হতে পারে আপনি এটি পড়তে পারেন এবং চেষ্টা করে দেখতে পারেন: stackoverflow.com/questions/18504835/…
উই

1
@dkt আমি বালিশটি ব্যবহার করছি এবং আমি এখানে আছি কারণ আমি এই সমস্যাটি কেবল আঘাত করেছি।
স্টিফেন টেট্রোল্ট

1
@dkt আমি জানি, আমি কেবল বলেছিলাম যে ইস্যুটি এখনও অব্যাহত রয়েছে সবই ছিল।
স্টিফেন টেট্রোল্ট

উত্তর:


488

libjpeg-dev বালিশ (বা পিআইএল) দিয়ে জেপিগগুলি প্রক্রিয়া করতে সক্ষম হওয়া প্রয়োজন, সুতরাং আপনাকে এটি ইনস্টল করতে হবে এবং তারপরে বালিশটি পুনরায় সংকলন করতে হবে। এটিও মনে হয় যে উবুন্টু 14.04 এ libjpeg8-dev প্রয়োজন

আপনি যদি এখনও পিআইএল ব্যবহার করে থাকেন তবে আপনার এই দিনগুলিতে সত্যিই বালিশটি ব্যবহার করা উচিত, সুতরাং প্রথমে pip uninstall PILস্যুইচ করার জন্য এই নির্দেশাবলীর অনুসরণ করার আগে, বা আপনার যদি পিআইএল স্টিক করার কোনও যুক্তিসঙ্গত কারণ থাকে তবে নীচে "পিআইএল" দিয়ে "বালিশ" প্রতিস্থাপন করুন )।

উবুন্টুতে:

# install libjpeg-dev with apt
sudo apt-get install libjpeg-dev
# if you're on Ubuntu 14.04, also install this
sudo apt-get install libjpeg8-dev

# reinstall pillow
pip install --no-cache-dir -I pillow

যদি এটি কাজ না করে তবে আপনি 64 বিট বা 32 বিট উবুন্টুতে আছেন কিনা তার উপর নির্ভর করে নীচের একটি ব্যবহার করে দেখুন।

উবুন্টু x64 এর জন্য:

sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib
sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib

অথবা উবুন্টু 32 বিটের জন্য:

sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib/
sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so.6 /usr/lib/
sudo ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib/

তারপরে বালিশটি পুনরায় ইনস্টল করুন:

pip install --no-cache-dir -I pillow

(মন্তব্যগুলি থেকে প্রতিক্রিয়া অন্তর্ভুক্ত করতে সম্পাদনাগুলি 32 32 বিটের ক্ষেত্রে এটি আলাদা করার জন্য চার্লস অফেনব্যাকার এবং ব্যবহারের পরামর্শ দেওয়ার জন্য টি-মার্টকে ধন্যবাদ --no-cache-dir)।


1
সমস্যাটি ছিল আমার কাছে দুটি পাইথন প্যাকেজ ছিল। একটি উবুন্টু দিয়ে জাহাজ এবং অন্যটি জোপ সার্ভারের অন্তর্ভুক্ত। কোনওভাবে, পাঠাগারটি দূষিত হয়েছিল কারণ আমি ভুল প্যাকেজে এটি ভুলভাবে ইনস্টল করেছি। তা না হলে সমস্যা নেই।
রবি

2
রেকর্ডটির জন্য, এটি কেবল x86_64 এ কাজ করে, আমাকে চালাতে হয়েছিল: sudo ln -s /usr/lib/i386-linux-gnu/libz.so / usr / lib /; sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so.6 / usr / lib /; sudo ln -s /usr/lib/i386-linux-gnu/libjpeg.so / usr / lib /
চার্লস অফেনব্যাচার

2
যে কেউ কেবল পিআইএল দিয়ে শুরু করছেন, তাদের অবশ্যই এটি পুরানো এবং সত্যই আর রক্ষণাবেক্ষণ করা উচিত নয়। আপনি যদি আপনার প্রকল্পের চিত্রগুলির সাথে কাজ করতে চান তবে PILLOW ব্যবহার করুন যা আপডেট এবং বজায় রাখা কাঁটাচামচি বা পিআইএল ব্যবহার করা হয়।
ধীরাজ ঠাকুর

1
@ 3 ঘন্টা পরে রোলো আপনার দ্বিতীয় বিকল্পটি আমার জন্য কাজ করেছে ধন্যবাদ বালিশটি
ডাম্বাস

5
পিপের সাম্প্রতিক সংস্করণগুলিতে অবশ্যই ডাউনলোড প্যাকেজগুলি এবং তাদের সংকলনগুলি ক্যাশে করতে হবে। অবশ্যই, এটি pip installপ্রথম জিনিসগুলির জন্য খুব দীর্ঘ ছিল তবে তারপরে আনইনস্টলগুলি এবং পুনরায় ইনস্টলগুলি সন্দেহজনকভাবে দ্রুত হয়েছিল। যাইহোক , উপরের পদ্ধতিগুলি আমার দৌড়ে না আসা পর্যন্ত কাজ করে না pip install --no-cache-dir pillow। শুভকামনা!
টি-মার্ট

63

ওএসএক্স-তে তাদের জন্য, আমি লাইবপং এবং লাইবজেপিগ সিস্টেম সিস্টেমে ইনস্টল করার জন্য নিম্নলিখিত বাইনারিটি ব্যবহার করেছি:

ওএসএক্সের জন্য libpng এবং libjpeg

যেহেতু আমি ইতিমধ্যে পিআইএল ইনস্টল করেছি (একটি ভার্চুয়ালেনভের পাইপের মাধ্যমে), আমি দৌড়েছি:

pip uninstall PIL
pip install PIL --upgrade

এটি সমাধান decoder JPEG not available আমার জন্য ত্রুটিটি করেছে।

আপডেট (4/24/14) :

পাইপের নতুন সংস্করণগুলিকে বাইরের উত্স থেকে লাইব্রেরিগুলি (পিআইএল সহ) ডাউনলোড করতে অতিরিক্ত পতাকা প্রয়োজন। নিম্নলিখিত চেষ্টা করুন:

pip install PIL --allow-external PIL --allow-unverified PIL

অতিরিক্ত তথ্যের জন্য নিম্নলিখিত উত্তরটি দেখুন: পাইপ ইনস্টল করুন পিআইএল ইনস্টল করবেন না ভার্চুয়ালেনভের মধ্যে ইনস্টল

আপডেট 2 :

যদি ওএসএক্স ম্যাভেরিক্সে থাকে তবে আপনি ARCHFLAGSপতাকাটি নীচে @ রিকার্ডোগোঞ্জেলস মন্তব্য হিসাবে সেট করতে চাইবেন :

ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install PIL --allow-external PIL --allow-unverified PIL

ম্যাভারিক্সে আপগ্রেড করার পরে আমার এই সমস্যা হয়েছিল (10.9)। নিম্নলিখিত এসও পোস্টটি আমার জন্য সমস্যার সমাধান করেছে। ইনস্টল কমান্ড লাইন সরঞ্জামগুলিতে নীচে স্ক্রোল করুন @ ফর্মুলকা
ট্যাটলার

আপনি যদি উবুন্টু 12.04 64 বিট এ থাকেন তবে জিনসতোর সমাধানটি চেষ্টা করুন, আমি জানি ওএসএক্সের জন্য সে এটি করেছে তবে আমি চেষ্টা করেছিলাম এবং এটি আমার পক্ষে কাজ করে।
ডেডলক

আমি এই ত্রুটিটি পেয়েছি: প্রয়োজনীয় পাইলগুলিকে সন্তুষ্ট করে এমন কোনও ডনলোডস খুঁজে পেল না
রিকার্ডো গোনজালেস

@ রিকার্ডোগোঞ্জেলস, আপনি সম্ভবত পাইপের একটি সংস্করণ চালিয়ে যাচ্ছেন যাতে আপনার অতিরিক্ত পতাকা পাস করার প্রয়োজন হয়। আমার উত্তর আপডেট করুন।
zeantsoi

@zeantsoi এখন প্যাকেজটি ডাউনলোড করছে এবং ইনস্টল করছে তবে "ক্লিন আপ" বার্তাটি পরে। আমি ত্রুটিটি উল্লেখ করেছি: "-c সেটআপলগুলি আমদানি করুন, টোকেনাইজ করুন; __ ফাইল ... ..." কোনও পরামর্শ?
রিকার্ডো গোনজালেস 21

29

এটি আমার পক্ষে কাজ করার একমাত্র উপায়। প্যাকেজ ইনস্টল করা এবং পিআইএল পুনরায় ইনস্টল করা কার্যকর হয়নি।

উবুন্টুতে, প্রয়োজনীয় প্যাকেজ ইনস্টল করুন:

sudo apt-get install libjpeg-dev

(আপনি libfreetype6 libfreetype6-dev zlib1g-devঅন্যান্য ডিকোডারগুলি সক্ষম করতে ইনস্টল করতেও পারেন )।

তারপরে পিলটি বালিশ দিয়ে প্রতিস্থাপন করুন:

pip uninstall PIL
pip install pillow

আমি এটি কিছু সময় আগে করেছি এবং হঠাৎ আজ ত্রুটিটি আবার উপস্থিত হয়েছিল। আপগ্রেড বালিশ সমস্যা সংশোধন: pip install pillow --upgrade
ডেনিস গোলোমাজভ

21

নিম্নলিখিত উবুন্টু 12.04 এ কাজ করে:

pip uninstall PIL
apt-get install libjpeg-dev
apt-get install libfreetype6-dev
apt-get install zlib1g-dev
apt-get install libpng12-dev
pip install PIL --upgrade

যখন আপনার দেখুন "- জেপিইজি সমর্থনযোগ্য" সমর্থন করে তার অর্থ এটি কার্যকর হয়।

তবে, যদি আপনার জেপিগ চিত্রটি সম্পাদনা করে এটি এখনও কাজ না করে, অজগর পথটি পরীক্ষা করুন !! আমার অজগর পথটি মিস হয়েছে /usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/, সুতরাং আমি ~/.bashrcএই ফাইলটিতে নিম্নলিখিত কোডটি যুক্ত সম্পাদনা করব :

সম্পাদনা: export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/

তাহলে, শেষ পর্যন্ত, এটি কাজ করে !!


হাই, আমার মনে হয় অজগর পথটি কাজ করছে না বলে আমার সমস্যা হচ্ছে কারণ - পিএলআইএল পরিসংখ্যান ইনস্টল করে যে - জেপিইজি সমর্থন উপলব্ধ। তবে, আসলে .jpeg চিত্রগুলির সাথে পাইল অপ্টগুলি ডিকোডার জেপিগ ত্রুটির কারণ হয়ে থাকে। stackoverflow.com/questions/18504835/…
লুকাস ওউ-ইয়াং

16

ফেডোরা 17 এ আমাকে ইনস্টল করতে হয়েছিল libjpeg-develএবং তারপরে পুনরায় ইনস্টল করতে হয়েছিল PIL:

sudo yum install --assumeyes libjpeg-devel
sudo pip-python install --upgrade PIL

1
আরএইচইএল / সেন্টোসের ক্ষেত্রেও এটি একই রকম।
জাকুব রোজটোসিল

14

রোলোর উত্তরটি দুর্দান্ত, তবে আমাকে পাইপ ক্যাশে (পিপ with দিয়ে প্রবর্তিত) বাইপাস করে বালিশটি পুনরায় ইনস্টল করতে হবে অন্যথায় এটি সঠিকভাবে পুনরায় সংযুক্ত হবে না !!! আদেশটি হ'ল:

pip install -I --no-cache-dir -v Pillow

এবং আপনি দেখতে পারেন যে লোগোতে পড়ে বালিশটি সঠিকভাবে কনফিগার করা হয়েছে:

PIL SETUP SUMMARY
    --------------------------------------------------------------------
    version      Pillow 2.8.2
    platform     linux 3.4.3 (default, May 25 2015, 15:44:26)
                 [GCC 4.8.2]
    --------------------------------------------------------------------
    *** TKINTER support not available
    --- JPEG support available
    *** OPENJPEG (JPEG2000) support not available
    --- ZLIB (PNG/ZIP) support available
    --- LIBTIFF support available
    --- FREETYPE2 support available
    *** LITTLECMS2 support not available
    *** WEBP support not available
    *** WEBPMUX support not available
    --------------------------------------------------------------------

আপনি দেখতে পাচ্ছেন যে জেপিজি, টিফ এবং এর জন্য সমর্থন সক্ষম করা আছে, কারণ আমি পূর্বে অ্যাপের মাধ্যমে প্রয়োজনীয় লাইব্রেরি ইনস্টল করেছি (libjpeg-dev libpng12-dev libfreetype6-dev libtiff-dev)


এর জন্য ধন্যবাদ.
--No

12

ম্যাক ওএস এক্স ম্যাভারিক্সে (10.9.3), আমি নিম্নলিখিতগুলি করে এটি সমাধান করেছি:

দ্বারা libjpeg ইনস্টল করুন চোলাই (প্যাকেজ ম্যানেজমেন্ট সিস্টেম)

ব্রিবু ইনস্টল libjpeg

বালিশ পুনরায় ইনস্টল করুন (আমি পিআইএল এর পরিবর্তে বালিশ ব্যবহার করি)

পাইপ ইনস্টল - আমি বালিশ


2
এটি আমার ব্রিউ brew unlink jpeg && brew link jpegইনস্টল করার ক্ষেত্রে একটি পৃথক সমস্যার কারণে হতে পারে, তবে বালিশ ইনস্টল করার আগে আমাকে করতে হয়েছিল।
লুকাস

11
apt-get install libjpeg-dev
apt-get install libfreetype6-dev
apt-get install zlib1g-dev
apt-get install libpng12-dev

এগুলি ইনস্টল করুন এবং পাইপ দিয়ে পিআইএল ইনস্টল করার বিষয়ে নিশ্চিত হন কারণ আমি এটি উত্স থেকে সংকলন করেছি এবং কোনও কারণে এটি কার্যকর হয়নি


সমস্ত প্রয়োজনীয় নির্ভরতাগুলির তালিকা ।
পাওলো

9

আমি ইতিমধ্যে ব্যবহার Pillowকরেছিলাম এবং একই ত্রুটি পেয়েছি। ইনস্টল করার চেষ্টা libjpegবাlibjpeg-dev অন্যদের দ্বারা প্রস্তাবিত কিন্তু বলা হয়েছিল যে একটি (নতুন) সংস্করণ ইতিমধ্যেই ইনস্টল করা হয়েছে।

শেষ পর্যন্ত এটি যা নিয়েছিল তা পুনরায় ইনস্টল করা ছিল Pillow:

sudo pip uninstall Pillow
sudo pip install Pillow

3

আমি জিনতসাই পোস্টে মন্তব্য করতে খুব নবীন; (। সুতরাং এখানে ওএসএক্সে 10.9.1 এ সমাধান করার জন্য আমার যা করা দরকার ছিল তা এখানে

IOError: ডিকোডার জেপিগ পাওয়া যায় না

1) এক্সকোড সরঞ্জামগুলি ইনস্টল করুন (আপনার টার্মিনালটি খুলুন এবং চালান xcode-select --install:) - এই পোস্ট থেকে নেওয়া: ম্যাক ওএস এক্স 10.9 এর পরে পিআইএল ইনস্টল করতে পারবেন না

2) libpng ও বাক্স libjpeg ইনস্টল : এই লিঙ্ক থেকে (কম্বো ইনস্টলার) http://ethan.tira-thompson.com/Mac_OS_X_Ports.html

3) পুনরায় বুট করুন (এটি বাধ্যতামূলক ছিল তা নিশ্চিত নয়)

৪) রান সহ পিআইএল পুনরায় ইনস্টল করুনpip install -I PIL (যেহেতু আমি প্রথমে সমস্যাটি হওয়ার আগে পিআইএল ইনস্টল করেছি)

আশা করি এই সহায়তা এবং আরও বিভ্রান্ত করবেন না ...

_oho


2

এই প্রশ্নটি বেশ কিছুক্ষণ আগে পোস্ট করা হয়েছিল এবং বেশিরভাগ উত্তর বেশ পুরানো। সুতরাং যখন আমি এটি বের করার চেষ্টা করে ঘন্টা ব্যয় করলাম তখন কিছুই কার্যকর হয়নি এবং আমি এই পোস্টে সমস্ত পরামর্শ দিয়েছি।

আমার জ্যাঙ্গো অবতার ফর্মটিতে একটি জেপিজি আপলোড করার চেষ্টা করার সময় আমি এখনও স্ট্যান্ডার্ড জেপিজি ত্রুটিগুলি পেয়েছিলাম:

raise IOError("decoder %s not available" % decoder_name)
OSError: decoder jpeg not available

তারপরে আমি উবুন্টু 12.04 এর জন্য সংগ্রহস্থলটি যাচাই করেছিলাম এবং এর জন্য কিছু অতিরিক্ত প্যাকেজ লক্ষ্য করেছি libjpeg। আমি এগুলি ইনস্টল করেছি এবং আমার সমস্যার সমাধান হয়েছে:

sudo apt-get install libjpeg62 libjpeg62-dev

এই মুছে ইনস্টল libjpeg-dev, libjpeg-turbo8-devএবং libjpeg8-dev

আশা করি এটি ২০১৫ এবং এর বাইরে কাউকে সহায়তা করবে!

চিয়ার্স


1

এখানে একই সমস্যা, JPEG support availableতবে এখনও পেয়েছি IOError: decoder/encoder jpeg not available, আমি বালিশ ব্যবহার করি এবং পিআইএল ব্যবহার করি না।

আমি উপরোক্ত এবং আরও অনেকগুলি চেষ্টা করে দেখেছি, তবে অনেক ঘন্টা পরে বুঝতে পেরেছি যে ব্যবহারটি sudo pip installআমার প্রত্যাশার মতো কাজ করে না, এর সাথে মিলিয়েvirtualenv । বোকা আমাকে।

sudoকার্যকরভাবে ব্যবহার করে একটি নতুন শেলের মধ্যে কমান্ডটি প্রবর্তন করা হয়েছে (এটি সম্পর্কে আমার বুঝতে সম্পূর্ণ সঠিক হতে পারে না) যেখানে ভার্চুয়ালেনভ সক্রিয় করা হয়নি, অর্থাত প্যাকেজগুলির পরিবর্তে বৈশ্বিক পরিবেশে ইনস্টল করা হবে। (এই গোলমাল জিনিসগুলি, আমার কাছে মনে হয় বালিশের 2 টি পৃথক স্থাপনা ছিল))

আমি জিনিসগুলি পরিষ্কার করেছি, ব্যবহারকারীকে রুটে পরিণত করেছি এবং ভার্চুয়ালেনভে পুনরায় ইনস্টল করেছি এবং এখন এটি কার্যকর হয়।
আশা করি এটি কারও সাহায্য করবে!


1

ফেডোরার জন্য

প্রাক-প্রয়োজনীয়
sudo dnf install make automake gcc gcc-c++ kernel-devel rpm-build libjpeg-devel zlib-devel python-devel
ইনস্টল করুন এখন বালিশ ইনস্টল করুন

sudo pip install pillow

দ্রষ্টব্য - libjpeg এবং zlib- এর জন্য আমরা ফেডোরা / সেন্টোস / রেড হ্যাট -এ libjpeg-devel এবং zlib-devel প্যাকেজ ইনস্টল করছি


0

প্রথমে পাইথন আনইনস্টল করা ছাড়াও লুকানো ফোল্ডার ব্যবহারকারী / অ্যাপডাটাতে (যেটি বিশাল মাথাব্যথার সৃষ্টি করছিল) লিগল ফোল্ডারগুলি মুছতে হয়েছিল। তারপরে আমি উইন পাইথন বিতরণ ইনস্টল করেছি: http://code.google.com/p/winpython/ যার মধ্যে পিআইএল অন্তর্ভুক্ত রয়েছে


4
উইন্ডোজগুলির নীচে পাইথনের বিকাশ বেদনাদায়ক। আমি পরামর্শ না।
ইভিলেটন

0

ম্যাক ওএস মাউন্টেন সিংহের যারা, তাদের জন্য আমি জিয়ানতসইয়ের আনসার অনুসরণ করেছি, তবে এটি কার্যকর হয় না।

অবশেষে এই পোস্টটির সমাধানটি দিয়ে শেষ করেছি: http://appelfreelance.com/2010/06/libjpeg-pil-snow-leopard-python2-6-_jpeg_resync_to_restart/

এখন, আমি আনন্দের সাথে jpg এর জন্য আমার স্ক্রিপ্টটি চালাচ্ছি!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.