আমি কীভাবে পাইথনে স্ক্যালিটি 3 মডিউল যুক্ত করতে পারি?


107

পাইথনের অতি সাম্প্রতিক সংস্করণের পাশাপাশি স্কাইলাইট 3 মডিউলটি কীভাবে ইনস্টল করতে হবে কেউ আমাকে বলতে পারেন? আমি একটি ম্যাকবুক ব্যবহার করছি, এবং কমান্ড লাইনে, আমি চেষ্টা করেছি:

pip install sqlite

কিন্তু একটি ত্রুটি পপ আপ।


3
যদি আপনার পাইথনটি উত্স থেকে ম্যানুয়ালি তৈরি করা হয় এবং এই ত্রুটিটি পূরণ করে তবে আপনার প্রথমে স্ক্লাইট-ডেভেল প্যাকেজ ইনস্টল করা উচিত, তারপরে অজগরটি পুনর্নির্মাণ করুন, যেমন @ ফ্যালসেট্রু বলেছিলেন, প্যাকেজের নাম অপারেটিং সিস্টেমের উপর নির্ভর করে পৃথক হবে।
ngn999

সর্বদা উত্স থেকে পাইথন তৈরি করার চেষ্টা করে এবং এই ত্রুটিতে চলেছে: এটি সত্যিই ভাল উত্তরটি আপনার প্রয়োজনীয় বুল্ড প্রক্রিয়া এবং নির্ভরশীলতাগুলিকে সম্বোধন করে। stackoverflow.com/a/6171511/6273503
হার্পার

উত্তর:


187

আপনার sqlite3মডিউল ইনস্টল করার দরকার নেই । এটি স্ট্যান্ডার্ড লাইব্রেরিতে অন্তর্ভুক্ত করা হয়েছে (পাইথন 2.5 থেকে)।


4
আমার কাছে আসলে একটি অজগর 2.5.4 আছে যা স্ক্লাইট 3 :( অন্তর্ভুক্ত করে না
শেভি

@ ইউজার 22২২৯১৫, পাইথন ২.৫-এ নতুন কী অনুসারে , এসকিউলাইট এম্বেডড ডাটাবেসের জন্য একটি র‍্যাপার, পাইস্কুলাইট মডিউল ( pysqlite.org ) স্কেলাইট 3 প্যাকেজের নামের অধীনে স্ট্যান্ডার্ড লাইব্রেরিতে যুক্ত করা হয়েছে।
ফলসেট্রু

10
যদি আপনার পাইথন 3 উত্স থেকে ম্যানুয়ালি নির্মিত হয় এবং এই ত্রুটিটি পূরণ করে তবে আপনার প্রথমে স্ক্লাইট-ডেভেল প্যাকেজ ইনস্টল করা উচিত, তারপরে পাইথন 3 পুনর্নির্মাণ করা উচিত।
ngn999

@ ngn999, ওপিকে এটি জানাতে আপনি প্রশ্নটিতে আরও ভাল মন্তব্য করতে চাইবেন। কারণ এটির দীর্ঘ সময় উত্তর দেওয়া হয়েছিল, এবং আপনি যদি উত্তরটিতে মন্তব্য করেন তবে এটি ওপিকে অবহিত করা হবে না।
ফলসেট্রু

3
@ ngn999, BTW, প্যাকেজের নাম অপারেটিং সিস্টেমের উপর নির্ভর করে পৃথক হবে। উদাহরণস্বরূপ, উবুন্টুতে, এটি libsqlite3-dev
ফলসেট্রু

44

আমার পাইথন ২.7.৩ রয়েছে এবং এটি আমার সমস্যার সমাধান করেছে:

pip install pysqlite

10
বিবেচনা করুন যে এটি পাইথন 3
ফাইটিসিস্ট


15

সাধারণত, এটি অন্তর্ভুক্ত করা হয়। যাইহোক, @ ngn999 যেমন বলেছেন, আপনার অজগরটি যদি উত্স থেকে ম্যানুয়ালি তৈরি করা হয়েছে, আপনাকে এটি যুক্ত করতে হবে।

এখানে এমন একটি স্ক্রিপ্টের উদাহরণ যা স্কেলাইট 3 এর এনক্যাপসুলেটেড সংস্করণ সহ আপনার ব্যবহারকারী ডিরেক্টরিতে পাইথন 3 এর একটি এনপ্যাপুলেটেড সংস্করণ (ভার্চুয়াল পরিবেশ) সেটআপ করবে ।

INSTALL_BASE_PATH="$HOME/local"
cd ~
mkdir build
cd build
[ -f Python-3.6.2.tgz ] || wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
tar -zxvf Python-3.6.2.tgz

[ -f sqlite-autoconf-3240000.tar.gz ] || wget https://www.sqlite.org/2018/sqlite-autoconf-3240000.tar.gz
tar -zxvf sqlite-autoconf-3240000.tar.gz

cd sqlite-autoconf-3240000
./configure --prefix=${INSTALL_BASE_PATH}
make
make install

cd ../Python-3.6.2
LD_RUN_PATH=${INSTALL_BASE_PATH}/lib configure
LDFLAGS="-L ${INSTALL_BASE_PATH}/lib"
CPPFLAGS="-I ${INSTALL_BASE_PATH}/include"
LD_RUN_PATH=${INSTALL_BASE_PATH}/lib make
./configure --prefix=${INSTALL_BASE_PATH}
make
make install

cd ~
LINE_TO_ADD="export PATH=${INSTALL_BASE_PATH}/bin:\$PATH"
if grep -q -v "${LINE_TO_ADD}" $HOME/.bash_profile; then echo "${LINE_TO_ADD}" >> $HOME/.bash_profile; fi
source $HOME/.bash_profile

কেন এমন করবেন? আপনি একটি মডুলার পাইথন পরিবেশ চাইবেন যা আপনি আপনার অপারেটিং সিস্টেমকে প্রভাবিত না করে সম্পূর্ণ ধ্বংস করতে এবং পুনর্নির্মাণ করতে পারেন an একটি স্বাধীন বিকাশের পরিবেশের জন্য। এক্ষেত্রে সমাধানটি sqlite3 মডিউলারিও ইনস্টল করতে হবে।


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