কীভাবে আপনি পাইপাই, জ্যাঙ্গো এবং পোস্টগ্রিএসকিউএল একসাথে কাজ করবেন?


91

পাইপাই, জ্যাঙ্গো এবং পোস্টগ্রাইএসকিউএলকে একসাথে সুন্দর করে তোলার জন্য কোন কাঁটাচামচ বা প্যাকেজগুলির সংমিশ্রণটি ব্যবহার করা উচিত?

আমি জানি যে পাইপাই এবং জ্যাঙ্গো একসাথে দুর্দান্ত খেলে, তবে আমি পাইপাই এবং পোস্টগ্রাইএসকিউএল সম্পর্কে কম নিশ্চিত। আমি দেখতে পাচ্ছি যে অ্যালেক্স গেইনর পিপি-পোস্টগ্র্যাসক্লাল নামে পিপাইয়ের কাঁটা তৈরি করেছেন । আমি আরও জানি যে কিছু লোক সাইকোপজি ২-টাইপ ব্যবহার করছে

এই কাঁটাচামচ মধ্যে পার্থক্য আছে? অথবা আমাদের কি স্থিতিশীল 1.9 পাইপাই ব্যবহার করা উচিত এবং সাইকোপজি 2-সিটি টাইপ ব্যবহার করা উচিত? সিটিপস বিকল্পগুলি ব্যবহার করা পারফরম্যান্সকে আঘাত করতে পারে, নীচের মন্তব্যটি দেখুন।

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

আমি চারপাশে তাকালাম, মনে হয় না যে সাইপোকজি 2 পাইপাইয়ের সাথে স্থানীয়ভাবে কাজ করে। যদিও, সাইকোপজি ২-টাইপগুলি কিছু লোকের জন্য কাজ করছে বলে মনে হচ্ছে না, পাইপ-দেব নিয়ে একটি আলোচনা হয়েছিল । আমি উইন্ডোজে কাজ করি এবং আমার মনে হয় না যে সাইকোপজি 2-সিটিপস এখনও উইন্ডোজের জন্য প্রস্তুত, দুঃখের বিষয়।


8
জ্যাঙ্গোকন ইউরোপ ২০১১ থেকে অ্যালেক্সের একটি চমৎকার কথা আছে, যেখানে তিনি পোস্টগ্রাগেসের
বার্নহার্ড

4
পিটিওয়াই থেকে সিটি কোডিং বিটিডাব্লু, খাঁটি পাইথন মডিউলগুলি ব্যবহারের চেয়ে এখনও অনেক ধীর। সুতরাং আপনি সম্ভবত পাইপাইয়ের মাধ্যমে জ্যাঙ্গো + সাইকোপজি 2 চালানো থেকে কোনও সুবিধা পাবেন না। আপনি psycopg2 পুনর্লিখন করতে RPython বা CPython ব্যবহার এবং সঙ্গে আপনার আবেদনের সমালোচনামূলক অংশের নিখুত Cython
ভ্লাদিমির প্রতাভসভ

এছাড়াও: bitbucket.org/alex_gaynor/pypy-postgresql (পুরোনো ধরনের ...)
jperelli

4
আমার চারপাশের কিছু লোক সাইকোপজি 2 সিটির পরামর্শ দিচ্ছেন , তবে জ্যাঙ্গো ছাড়াই ... সাহায্য করতে পারে ...
ডিঙ্গো

আপনার ওএস, বিতরণ, সংস্করণ কি?
পাইওভার

উত্তর:


33

psycopg2cffi (আপডেট করা হয়েছে 2015)

psycopg2cffi এখনও অন্য সাইকোপজি 2- সামঞ্জস্যপূর্ণ প্রতিস্থাপন এবং পাইপাইয়ের সাথে পোস্টগ্র্রেএসকিউএল সেরা পারফরম্যান্স সরবরাহ করা উচিত। settings.pyউভয়ের সাথে সামঞ্জস্যপূর্ণ থাকতে আপনার এটিকে যুক্ত করুন :

try:
    import psycopg2
except ImportError:
    # Fall back to psycopg2cffi
    from psycopg2cffi import compat
    compat.register()

সাইকোপজি ২-সিটিপস (২০১২)

আমি আরও জানি যে কিছু লোক সাইকোপজি ২-টাইপ ব্যবহার করছে।

এই সবচেয়ে সহজ উপায়; উভয়ের সাথে সামঞ্জস্যপূর্ণ থাকতে, কেবল আপনার জাজানোতে এই কোডটি যুক্ত করুন settings.py:

try:
    import psycopg2
except ImportError:
    # Fall back to psycopg2-ctypes
    from psycopg2ct import compat
    compat.register()

আমি কয়েক রিলিজ আগে এটি পরীক্ষা করেছি; দুঃখের সাথে আমার অভিজ্ঞতার সাথে, সাইপোকগ ২-সিটিপস পাইপাই দ্বারা সরবরাহিত ছোট পারফরম্যান্স লাভগুলিকে উপেক্ষা করে। তবে ওয়াইএমএমভি, এটি নির্ভর করে যে আপনার কোডটি কীভাবে জিত-বান্ধব এবং সাধারণভাবে পাইথন কোডটি চালাতে ব্যয় করেন। এবং সম্ভবত পাইপি এখন থেকেই উন্নত হয়েছে।

এবং আমার মনে হয় না উইন্ডোজের জন্য সাইকোপজি 2-সিটিপস প্রস্তুত রয়েছে

আমি এটি চেষ্টা করি নি, তবে সিটিপস প্ল্যাটফর্ম-স্বতন্ত্র। আপনি কেবলমাত্র নিশ্চিত করতে হবে যে libpq.dllগ্রন্থাগারটি লোডযোগ্য (আপনার PATH পরিবেশের পরিবর্তনশীল বা স্থানীয় ডিরেক্টরিতে কোনও ডিরেক্টরিতে অবস্থিত) এবং এটি লিনাক্সের মতো উইন্ডোতেও কাজ করা উচিত।

pypy-postgresql

আমি দেখতে পাচ্ছি যে অ্যালেক্স গেইনর পিপি-পোস্টগ্র্যাসক্লাল নামে পিপাইয়ের কাঁটা তৈরি করেছেন।

দীর্ঘমেয়াদে এটি একটি ভাল পছন্দ বলে আমি মনে করি না। শাখাটি এক বছরেরও বেশি সময় ধরে আপডেট করা হয়নি এবং এটি তৈরির জন্য আমার প্রচেষ্টা ব্যর্থ হয়েছে। এবং দোভাষীর কোনও পোস্টগ্রাইএসকিউএল ড্রাইভারকে হার্ড-কোড করা ভুল বলে মনে হচ্ছে।

আমি বিশ্বাস করি পাইপি-পোস্টগ্র্যাস্কিলের বাইরে কোনও বাইনারি নেই, সুতরাং আপনি যদি এটি ব্যবহার করতে চান তবে আপনাকে নিজের সম্পূর্ণ পিপিপি শাখা নিজেই তৈরি করতে হবে। হৃদয়ের ম্লান হওয়ার জন্য নয়: এটি দশ মিনিট সময় নেয় এবং একটি মেশিনে কমপক্ষে 4 গিগাবাইট মেমরি লাগে। (সরকারী নির্দেশাবলী: http://pypy.org/download.html# বিল্ডিং- থেকে উত্স )

নির্মাণ করতে, আপনার প্রথমে উত্স প্রয়োজন। আপনি যদি মার্চারিয়াল ইনস্টল করেন তবে আপনি সহজভাবে এটি করতে পারেন hg clone https://bitbucket.org/alex_gaynor/pypy-postgresql। যদি তা না হয় তবে আপনি স্বয়ংক্রিয় "টিপ" জিপ ফাইলটি ডাউনলোড করতে পারেন: https://bitbucket.org/alex_gaynor/pypy-postgresql/get/tip.zip

একটি কমান্ড লাইন খুলুন, সংক্ষেপিত ডিরেক্টরিতে যান এবং তারপরে ভিতরে pypy/translator/goal

যদি আপনি পাইপাই ইনস্টল করেন তবে এটি বিল্ডিংয়ের জন্য ব্যবহার করার পরামর্শ দেওয়া হচ্ছে:

pypy translate.py -Ojit

অন্যথায়:

python translate.py -Ojit

দুঃখের বিষয় এখানেই আমার জ্ঞান শেষ হয়। আমি ত্রুটি পেয়েছি " BytecodeCorruption: unimplemented opcode, ofs=234, code=203, name=BUILD_LIST_FROM_ARG"


উত্স থেকে পাইপিকে সংকলন না করে পাইপির সাথে কাজ করার জন্য পাইপ-পাইপস্কিপ 2 পেতে কী লাগতে পারে সে সম্পর্কে আপনি কি কিছু যোগ করতে পারেন?
জেমস আর

4
আমি কতদূর পেলাম তার বিশদ সহ উত্তরটি আপডেট করেছি। দুর্ভাগ্যক্রমে বিল্ডটি একটি ত্রুটির সাথে বাতিল হয়েছে। আমার মনে আছে পুরো বিকেলে এটি শেষবারের জন্য তৈরি করার চেষ্টা করে ব্যর্থ হয়েছিল এবং ব্যর্থও হয়েছিল।
intgr

16

কিছু অতিরিক্ত সংস্থান:

  • পাইপাই সামঞ্জস্যতার তথ্য: ডিবি অ্যাডাপ্টারগুলি
  • পাইথন উইকিতে পোস্টগ্রিজ এসকিউএল পৃষ্ঠা
  • psycopg2cffi কনস্টানটিন Lopuhin দ্বারা:
    PyPy 2.0 এবং নতুন জন্য psycopg2 এর cffi ভিত্তিক রূপায়ণ
    ( ব্লগ পোস্টে , GitHub রেপো , PyPI পৃষ্ঠা , pypy-দেব থ্রেড )
    - শক্তিশালী প্রার্থী বর্তমানে মত এই দেখায়, কিন্তু আমি এখনো এটা পরীক্ষিত নি
  • psycopg2ct মাইকেল ভ্যান Tellingen দ্বারা:
    PyPy 1.6 এবং নতুন জন্য psycopg2 এর ctypes ভিত্তিক রূপায়ণ
    ( GitHub রেপো , PyPI পৃষ্ঠা )
  • অ্যালেক্স গেইনোর পিপি-পোস্টগ্র্যাস্কেল :
    সাইকোপজি 2 এর পরিত্যাক্ত আরপিথন বন্দর পিপাইয়ের কাঁটাচামচ হিসাবে প্রয়োগ করা হয়েছে ( বিটবকেট রেপো )
  • পিআইপিকিউ :
    "পাইথন পোস্টগ্রাইএসকিউএল ডিবিএপিআই ২.০ অনুমানকারী ড্রাইভার সিটিপস এবং লিবিপিক.এস.ও ব্যবহার করে, পাইপাইয়ের সাথে কাজ করে"
    ( আলোচনা , পিপিআই পৃষ্ঠা )
  • bpgsql :
    "।। Barebones বিশুদ্ধ-পাইথন PostgreSQL ক্লায়েন্ট প্রায় ডিবি-এপিআই 2.0 (PEP 249) অনুবর্তী একটি পরীক্ষামূলক জ্যাঙ্গো 1.0 ব্যাকএন্ড সহ"
    ( আলোচনা , ওয়েবপৃষ্ঠাটি , Google কোড পৃষ্ঠা )
  • pg8000 :
    "পোস্টগ্রাইএসকিউএল ডাটাবেস ইঞ্জিনের সাথে একটি ডিবি-এপিআই 2.0 সুসংগত খাঁটি-পাইথন ইন্টারফেস [...] কোনও বাহ্যিক লাইব্রেরিতে (যেমন একটি সংকলিত পাইথন মডিউল, বা পোস্টগ্র্রেএসকিউএল এর লিবপিকিউ লাইব্রেরি) উপর নির্ভর করে না"
    ( ওয়েব পৃষ্ঠা , গিটহাব রেপো , পিপিআই পৃষ্ঠা )
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.