Virt --no-সাইট-প্যাকেজস `বিকল্পটি ভার্চুয়ালেনভের সাথে প্রত্যাবর্তন করুন


126

আমি --no-site-packagesবিকল্পটি ব্যবহার করে একটি ভার্চুয়ালেনভ তৈরি করেছি এবং প্রচুর গ্রন্থাগার ইনস্টল করেছি। এখন আমি --no-site-packagesবিকল্পটি ফিরিয়ে আনতে এবং বৈশ্বিক প্যাকেজগুলিও ব্যবহার করতে চাই ।

আমি কি ভার্চুয়ালেনভকে পুনরুদ্ধার না করে তা করতে পারি?

আরো স্পষ্ট করে:

আমি ভাবছি ঠিক কী ঘটে যখন --no-site-packagesঅপশনটি ব্যবহার না করে তার বিকল্পটি ব্যবহার না করে একটি ভার্চুয়ালেনভ তৈরি করার সময়।

যদি আমি জানি তবে কী হয় তবে আমি কীভাবে এটি পূর্বাবস্থায় আনতে পারি তা বুঝতে পারি।


অন্য একটি প্রশ্নের উত্তরটির এটির সদৃশ হিসাবে চিহ্নিত হয়েছিল এবং এটি একটি উত্তর পেয়েছে যা এখানে আকর্ষণীয়ও হতে পারে।
মারিওটোমো

উত্তর:


162

সরানোর (অথবা পুনঃনামকরনের) ফাইল ব্যবহার করে দেখুন no-global-site-packages.txtআপনার Libআপনার ভার্চুয়াল পরিবেশে ফোল্ডার।

যেখানে ভেনভ আপনার ভার্চুয়াল পরিবেশের নাম, এবং পাইথন 3.4 পাইথনের যে কোনও সংস্করণের সাথে মিল রয়েছে , উদাহরণস্বরূপ:

$ rm venv/lib/python3.4/no-global-site-packages.txt

এবং যদি আপনি নিজের মতামত পরিবর্তন করেন এবং এটি আবার রাখতে চান:

$ touch venv/lib/python3.4/no-global-site-packages.txt

দ্রষ্টব্য: আপনি যদি উপরের ফাইলটি না দেখেন তবে আপনার কাছে ভার্চুয়ালেনভের একটি নতুন সংস্করণ রয়েছে। পরিবর্তে আপনি এই উত্তরটি অনুসরণ করতে চাইবেন


18
এটা এটা করবে। এই ফাইলটির অস্তিত্ব (বা অস্তিত্ব) কেবলমাত্র কোনও সাইট-প্যাকেজ ফ্ল্যাগের সরাসরি প্রভাব। ভার্চুয়ালেনভের কাস্টমাইজড সাইট.পি গ্লোবাল সাইট-প্যাকেজ ডিরেক্টরিগুলি sys.path- এ যুক্ত করবে কিনা তা সিদ্ধান্ত নিতে সেই ফাইলটির সন্ধান করে।
কার্ল মায়ার

উজ্জ্বল! এটা এটা! এই উত্তরের জন্য আপনাকে অনেক ধন্যবাদ, এবং অতিরিক্ত মন্তব্যের জন্য কার্ল মেয়ারকে ধন্যবাদ।
অলিভিয়ার ভারদিয়ার

1
এটি virtualenv/python2.7/no-global-site-packages.txtআমার উবুন্টু সার্ভারে।
সিজারসোল

4
ভার্চুয়ালেনভের উইন্ডোজ সংস্করণে virtualenv/pyenv.cfgফাইল রয়েছে । সাইট-প্যাকেজগুলির জন্য একটি বিকল্প রয়েছে: include-system-site-packages = false এই মানটি পরিবর্তন করুন এবং অ্যাক্টিভেট.পিএস 1 কল করুন
জর্জিক

@georgik - যে এছাড়াও লিনাক্স সংস্করণ জন্য কাজ করে venvজন্য Python 3.4
টমাসজ ডিজনিয়াক

13

কমপক্ষে পাইথন ৩.৫.২ এর pyvenv.cfgজন্য ভার্চুয়ালেনভ ডিরেক্টরিতে মূল ফাইল রয়েছে file আপনাকে যা করতে হবে তা হ'ল include-system-site-packagesপতাকাটি থেকে এর থেকে পরিবর্তন falseকরা true:

home = /usr/bin
include-system-site-packages = false  # <- change this to "true"
version = 3.5.2


2

/virtualenv_root/lib/এবং এর মধ্যে একটি সিমিলিংক যুক্ত করার চেষ্টা করুন/path/to/desired/site-packages/


+1 এটি আমার সিস্টেমে কাজ করে (ওপেনসুএস লিনাক্স 12.3, পাইথন 2.7.3, ভার্চুয়ালেনভ 1.8.4); আমার no-global-site-packages.txtকোথাও নেই
অ্যারন দিগুল্লা

2

আপনার ভেনভ ফোল্ডারে যান এবং খুলুন pyvenv.cfg। (যেমন যদি আপনার ভার্চুয়াল পরিবেশ বলা হয় myenvতবে ফাইলটি এখানে অবস্থিত হবে myenv\pyvenv.cfg)

আপনি দেখতে পাবেন একটি বুলিয়ান সেটিংস দেখতে পাবেন include-system-site-packages

trueবিশ্বব্যাপী প্যাকেজগুলি ব্যবহার করতে সেটিংটি সেট করুন

আপনি যদি বিশ্বব্যাপী প্যাকেজগুলি ব্যবহার করে অক্ষম করতে চান তবে falseতার পরিবর্তে সেই সেটিংসটি সেট করুন।

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