আমার একটি সমস্যা আছে যে বাপিআরসিআর ফাইলটিতে জুপিটার এনভির ভেরিয়েবলটি দেখতে পাচ্ছে না, এই ভেরিয়েবলগুলিকে জুপিটারে লোড করার বা এটিতে ভিজিয়েবল যুক্ত করার কোনও উপায় আছে কি?
আমার একটি সমস্যা আছে যে বাপিআরসিআর ফাইলটিতে জুপিটার এনভির ভেরিয়েবলটি দেখতে পাচ্ছে না, এই ভেরিয়েবলগুলিকে জুপিটারে লোড করার বা এটিতে ভিজিয়েবল যুক্ত করার কোনও উপায় আছে কি?
উত্তর:
একটি jupyter নোটবুক একটি env পরিবর্তনশীল সেট করতে, শুধু একটি ব্যবহার %যাদু কমান্ড, নয়তো %envবা %set_envযেমন,, %env MY_VAR=MY_VALUEবা %env MY_VAR MY_VALUE। ( %envবর্তমান পরিবেশের ভেরিয়েবলগুলি মুদ্রণ করতে নিজেই ব্যবহার করুন ))
দেখুন: http://ipython.readthedocs.io/en/stable/interactive/magics.html
os.environ[var] = valব্যাকেন্ডে ব্যবহার করেছে: github.com/ipython/ipython/blob/master/IPython/core/magics/…
kernel.jsonফাইলে ভেরিয়েবলগুলি সেট করতে পারেন :আমার সমাধানটি দরকারী যদি আপনি যখন একবার জুপিটার কার্নেল শুরু করেন তখন আপনার একই পরিবেশের পরিবর্তনশীলগুলির প্রয়োজন হয়, বিশেষত যদি আপনার বিভিন্ন কাজের জন্য একাধিক পরিবেশের ভেরিয়েবল থাকে sets
আপনার পরিবেশের ভেরিয়েবলের সাহায্যে একটি নতুন আইপিথন কার্নেল তৈরি করতে, নিম্নলিখিতটি করুন:
jupyter kernelspec listইনস্টল করা কার্নেলগুলির এবং যেখানে ফাইল সংরক্ষণ করা হয় সঙ্গে একটি তালিকা দেখতে।python2নতুন ডিরেক্টরিতে (উদাহরণস্বরূপ python2_myENV) কার্নেল.জসন (যেমন নামকরণ করা ) রয়েছে এমন ডিরেক্টরিটি অনুলিপি করুন ।display_nameনতুন kernel.jsonফাইলটিতে পরিবর্তন করুনenvপরিবেশের ভেরিয়েবলগুলি সংজ্ঞায়িত করে একটি অভিধান যুক্ত করুন ।আপনার কার্নেল জসন এর মতো দেখতে পারা যায় (আমি ইনস্টল করা কার্নেল.জসন display_nameএবং ব্যতীত কোনও কিছুই সংশোধন করিনি env):
{
"display_name": "Python 2 with environment",
"language": "python",
"argv": [
"/usr/bin/python2",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"env": {"LD_LIBRARY_PATH":""}
}
LD_LIBRARY_PATHযা কীভাবে সংকলিত মডিউলগুলি (যেমন সি তে লিখিত) লোড হয় effects এই পরিবর্তনশীলটি ব্যবহার করে সেট করা কার্যকর %set_envহয়নি।C:\Program Files (x86)\Graphviz2.38\bin\dot.exeআপনার প্রস্তাবিত কৌশলটি ব্যবহার করে বিদ্যমান সিস্টেমের পথে যুক্ত করব? আমি যদি অ্যাডমিন অ্যাকাউন্ট ব্যবহার না করি তবে এটি কী কাজ করবে? আমি উইন্ডোজ 10 ব্যবহার করছি
sys.executableনা PYTHONEXECUTABLEকরা ওভাররাইট করে, যা আপনাকে পাইথন রান করার আগে সেট করতে হবে।
আপনি যদি পাইথন ব্যবহার করছেন, আপনি কোনও .envফাইলের মধ্যে আপনার পরিবেশের ভেরিয়েবলগুলি সংজ্ঞায়িত করতে পারেন এবং পাইথন-ডোটেনভ ব্যবহার করে একটি বৃহত্তর নোটবুকের মধ্যে থেকে এগুলি লোড করতে পারেন ।
পাইথন-ডোটেনভ ইনস্টল করুন:
pip install python-dotenv
.envএকটি বৃহত্তর নোটবুকে ফাইলটি লোড করুন :
%load_ext dotenv
%dotenv
আপনি নিম্নলিখিত হিসাবে আপনার কোডে পরিবেশ পরিবর্তনশীল সেটআপ করতে পারেন:
import sys,os,os.path
sys.path.append(os.path.expanduser('~/code/eol_hsrl_python'))
os.environ['HSRL_INSTRUMENT']='gvhsrl'
os.environ['HSRL_CONFIG']=os.path.expanduser('~/hsrl_config')
এটি অবশ্যই একটি অস্থায়ী স্থিরকরণের জন্য, একটি স্থায়ী রূপ পেতে, আপনার সম্ভবত ভেরিয়েবলগুলি রফতানি ~.profileকরতে হবে, আরও তথ্য এখানে পাওয়া যাবে
%env MY_VAR=MY_VALUEউত্তরটি এই প্রশ্নের সঠিক উত্তর হওয়া উচিত
একটি গোচা যাতে আমি প্রবেশ করলাম: নিম্নলিখিত দুটি কমান্ড সমান। নোট করুন প্রথমটি উদ্ধৃতি ব্যবহার করতে পারে না । কিছুটা বিপরীতক্রমে, স্ট্রিংটি ব্যবহার করার সময় উদ্ধৃতি দেওয়ার %env VAR ...ফলে কোয়েটগুলি ভেরিয়েবলের মান হিসাবে অন্তর্ভুক্ত হবে, যা সম্ভবত আপনি চান না।
%env MYPATH=C:/Folder Name/file.txt
এবং
import os
os.environ['MYPATH'] = "C:/Folder Name/file.txt"
আপনি যদি সিস্টেমড ব্যবহার করছেন তবে আমি সবেমাত্র জানতে পেরেছিলাম যে এগুলি আপনাকে সিস্টেমড ইউনিট ফাইলে যুক্ত করতে হবে। এটি উবুন্টু ১ on এ them
আমাকে সম্পাদনা করতে হয়েছিল:
/lib/systemd/system/jupyer-notebook.service
এবং ভেরিয়েবলটি আমি ইউনিট ফাইলে পড়তে চেয়েছিলাম যেমন:
Environment=MYOWN_VAR=theVar
এবং কেবল তখনই আমি এটি সরল নোটবুকের মধ্যে থেকে পড়তে পারি।
একটি সম্পর্কিত (স্বল্প-মেয়াদী) সমাধান হ'ল আপনার পরিবেশের পরিবর্তনশীলগুলি একটি একক ফাইলে সংরক্ষণের পূর্বাভাসযোগ্য বিন্যাস সহ, টার্মিনাল শুরু করার সময় এবং / অথবা নোটবুকটিতে পড়ার পরে এটি তৈরি করা যেতে পারে। উদাহরণস্বরূপ, আমার কাছে একটি ফাইল রয়েছে, .envএতে আমার পরিবেশের পরিবর্তনশীল সংজ্ঞাটি ফর্ম্যাটটিতে রয়েছে VARIABLE_NAME=VARIABLE_VALUE(ফাঁকা লাইন বা অতিরিক্ত স্থান নেই)। নতুন টার্মিনাল সেশন শুরু করার সময় আপনি এই ফাইলটি .bashrcবা .bash_profileফাইলগুলিতে উত্স তৈরি করতে পারেন এবং আপনি এটির মতো কিছু দিয়ে একটি নোটবইতে পড়তে পারেন,
import os
env_vars = !cat ../script/.env
for var in env_vars:
key, value = var.split('=')
os.environ[key] = value
এই .envফাইলটি যে কোনও জায়গায় থাকতে পারে এবং নোটবুক ফাইল যুক্ত ডিরেক্টরিটির সাথে সম্পর্কিত হতে পারে তা দেখানোর জন্য আমি একটি আপেক্ষিক পথ ব্যবহার করেছি । এটি আপনার কোডের মধ্যে কোথাও ভেরিয়েবল মানগুলি প্রদর্শন না করার সুবিধাও রয়েছে।