আপনি ইতিমধ্যে তৈরি করা ভার্চুয়ালেনভে কীভাবে আপনার অজগরটি সেট করবেন?


106

আমি কোন ফাইলটি সম্পাদনা করব এবং কীভাবে? আমি ভার্চুয়াল পরিবেশ তৈরি করেছি।


এটি সঠিক ডিরেক্টরিতে নির্দেশ করে তা পরীক্ষা করে দেখুন। আপনার যদি ইতিমধ্যে একটি না থাকে তবে নতুন বোতামটি ক্লিক করুন এবং এটি তৈরি করুন।

11
Add2virtualenv কমান্ডটি ব্যবহার করুন ।
s29

5
add2virtualenv একটি virtualenvwrapperকমান্ড। এটি অংশ নয় virtualenv
কোজিরো

উত্তর:


124

সম্পাদনা # 2

সঠিক উত্তর হল @ arogachev এক


আপনি যদি PYTHONPATHকোনও ভার্চুয়ালেনভে পরিবর্তনটি পরিবর্তন করতে চান তবে আপনি আপনার ভার্চুয়ালেনভের bin/activateফাইলটিতে নিম্নলিখিত লাইনটি যুক্ত করতে পারেন :

export PYTHONPATH="/the/path/you/want"

PYTHONPATHআপনি যখন এই ভার্চুয়ালেনভ ব্যবহার করবেন তখনই নতুন সেট করা হবে।

সম্পাদনা: (রামরাচুমের মন্তব্যের জবাব দিতে)

এটির আসল মানটিতে এটি পুনরুদ্ধার করতে deactivate, আপনি যুক্ত করতে পারেন

export OLD_PYTHONPATH="$PYTHONPATH"

পূর্বে উল্লিখিত লাইনের আগে এবং আপনার bin/postdeactivateস্ক্রিপ্টে নিম্নলিখিত লাইনটি যুক্ত করুন ।

export PYTHONPATH="$OLD_PYTHONPATH"

1
এটিও কি সরানো হবে deactivate?
রাম রাছুম

1
সুতরাং এর অর্থ একটি নতুন তৈরি ভার্চুয়াল এনভায়রুমেন্টে ভার্চুয়ালেনভ PYTHONPATHস্থানীয় পথের পরিবর্তে ডিফল্ট (বিশ্বব্যাপী) রয়েছে?
ডুচিন

6
এটি আমার পক্ষে খুব ভাল কাজ করেছে, আমি ভ্যুচুয়ালেনভ্রাপার ব্যবহার করছি না। কেবলমাত্র নোটটি হ'ল আমার কাছে এমন বিন / পোস্টডিএভেটিভ স্ক্রিপ্ট নেই, রাথের অ্যাক্টিভেটের একটি নিষ্ক্রিয় ফাংশন ছিল। কোডের লাইনটি সেখানে রেখে দেওয়া উচিত, যদি এটি ফাংশনের বাকী অপারেশন হিসাবে একটি বিবৃতিতে মোড়ানো সতর্কতা অবলম্বন করে।
নিকোল ò

2
এটি অদ্ভুত বলে মনে হয় যে ভার্চুয়ালেনভ এটি ডিফল্টরূপে করেন না।
সেথ

2
সম্পাদনা # 2 একটি মিথ্যা! :) সঠিক উত্তরটি হ'ল @ আরজেন-পি-ডি-
ভিরিজের

73

@ S29 এর মন্তব্যের উত্তর হওয়া উচিত:

ভার্চুয়াল পরিবেশে ডিরেক্টরি যুক্ত করার একটি উপায় হ'ল ভার্চুয়ালেনভ্র্যাপার ইনস্টল করা (যা অনেক কিছুর জন্য কার্যকর) এবং তারপরে

mkvirtualenv myenv
workon myenv
add2virtualenv . #for current directory
add2virtualenv ~/my/path

আপনি যদি এই পাথটি সরাতে চান তবে ফাইলটি সম্পাদনা করুন myenvhomedir/lib/python2.7/site-packages/_virtualenv_path_extensions.pth

ভার্চুয়ালেনভ্রাপার সম্পর্কিত ডকুমেন্টেশন পাওয়া যাবে http://virtualenvwrapper.readthedocs.org/en/latest/ এ

এই বৈশিষ্ট্যটিতে নির্দিষ্ট ডকুমেন্টেশনটি http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html?hightlight=add2virtualenv এ পাওয়া যাবে


6
অপসারণ করতে:add2virtualenv -d
থিচেক

1
শুধু খনি মধ্যে এই উত্তরটি লিঙ্ক করা হলে, যেমন অনেক ভালো হয়
mdeous

27

আপনি একটি .pthফাইল তৈরি করতে পারেন যা সন্ধানের জন্য ডিরেক্টরি রয়েছে এবং এটি ডিরেক্টরিতে রাখতে পারেন site-packages। উদাহরণ:

cd $(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
echo /some/library/path > some-library.pth

প্রভাব যোগ হিসাবে একই /some/library/pathথেকে sys.path, এবং স্থানীয় থাকা virtualenvসেটআপ।


7
আমি সত্যিই এই পদ্ধতির পছন্দ; সক্রিয় / নিষ্ক্রিয় করতে লাইন যুক্ত করার মতো চঞ্চল নয় এবং ভ্যুচুয়ালেভ্রাপার ব্যবহারের প্রয়োজন নেই। আপনি যদি সাইট-প্যাকেজগুলি সন্ধানের জন্য অজগরকে অনুরোধ না করেন তবে এটি মোটামুটি অনুমানযোগ্য পথে $VIRTUALENV_ROOT/lib/pythonX.Y/site-packages। .Pth ফাইলগুলিতে ডক্স: docs.python.org/3.6/library/site.html
আলেক

2
আমি কোনও নিখুঁত পথে টাইপ করতে চাইনি, কারণ আমার ওয়ার্কস্পেসগুলি আমার ফাইল সিস্টেমের আশেপাশে চলে। এবং, আমার প্রকল্পের পথের স্পেস রয়েছে। সুতরাং, আমি সামান্য পরিবর্তিত কমান্ডটি টাইপ করেছি: pushd "$(venv/bin/python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")" ...path/to/project/venv/lib/python3.7/site-packages ...path/to/project echo ../../../../src > my_project.pth popdতারপরে আমি আমার ভার্চুয়ালেনভকে নিষ্ক্রিয় করে আবার সক্রিয় করেছি। আমি এখন প্রোজেক্ট কোডটি চালাতে পারলাম যেখানে আমার প্রকল্প ডিরেক্টরিটি ছিল তা জেনে রাখা দরকার।
জিম DeLaHunt

4
এটা সঠিক উত্তর. বিক্রেতার দ্বারা সরবরাহিত স্ক্রিপ্ট ( /bin/activate) পরিবর্তন করা একটি ত্রুটি এবং তৃতীয় পক্ষের সরঞ্জামগুলি ইনস্টল করা এটি অর্জনের জন্য অন্তর্নির্মিত উপায় ব্যবহারের থেকে নিকৃষ্ট is
রেড

2
  1. আপনার virtualenv শুরু করুন
cd venv

source bin/activate
  1. নিম্নলিখিত কমান্ডটি প্রবেশ করে আপনার অজগর পথটি সেট করুন বা পরিবর্তন করুন:
export PYTHONPATH='/home/django/srmvenv/lib/python3.4'
  1. পাইথন পাথ পরীক্ষা করার জন্য পাইথনে প্রবেশ করুন:
   python

      \>\> import sys

      \>\> sys.path

1

আমি আমার সক্রিয় স্ক্রিপ্টটি .virtualenvrcবর্তমান ডিরেক্টরিটিতে উপস্থিত থাকলে এবং উত্স PYTHONPATH/ নিষ্ক্রিয়করণে সংরক্ষণ / পুনরুদ্ধার করতে ফাইলটি উত্স করতে পরিবর্তন করেছি ।

আপনি activateএখানে প্যাচ স্ক্রিপ্ট খুঁজে পেতে পারেন ।। এটি ভার্চুয়ালেনভ 1.11.6 দ্বারা নির্মিত অ্যাক্টিভেট স্ক্রিপ্টের জন্য একটি ড্রপ-ইন প্রতিস্থাপন।

তারপরে আমি আমার সাথে এই জাতীয় কিছু যুক্ত করেছি .virtualenvrc:

export PYTHONPATH="${PYTHONPATH:+$PYTHONPATH:}/some/library/path"

-20

এটি ইতিমধ্যে এখানে উত্তর দেওয়া হয়েছে -> আমার ভার্চুয়াল পরিবেশ (অজগর) আমার পাইথনপথটি ভেঙে ফেলার কারণ?

ইউনিক্স / লিনাক্স

এটি "এক্সপোর্ট পাইথনপথ = / ইউএসআর / লোকাল / লিবিব / পাইথন 2.0" এটিকে this / .bashrc ফাইলে যুক্ত করুন এবং "উত্স। / .Bashrc" OR "টাইপ করে এটি উত্স করুন ~ / .bashrc"।

উইন্ডোজ এক্সপি

1) কন্ট্রোল প্যানেলে যান 2) সিস্টেমে ডাবল ক্লিক করুন 3) অ্যাডভান্সড ট্যাবে যান 4) এনভায়রনমেন্ট ভেরিয়েবলগুলিতে ক্লিক করুন

সিস্টেম ভেরিয়েবল উইন্ডোতে, আপনার কাছে পাইথোনপথ নামের একটি ভেরিয়েবল আছে কিনা তা পরীক্ষা করে দেখুন। আপনার যদি ইতিমধ্যে একটি থাকে তবে এটি সঠিক ডিরেক্টরিতে নির্দেশ করে তা পরীক্ষা করুন। আপনার যদি ইতিমধ্যে একটি না থাকে তবে নতুন বোতামটি ক্লিক করুন এবং এটি তৈরি করুন।

পাইথন কোড

বিকল্পভাবে, আপনি নিজের কোডের নীচেও এটি করতে পারেন: -

import sys
sys.path.append("/home/me/mypy") 

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