আমি যতবার আইপিথন নোটবুক চালু করি, আমি চালিত প্রথম কমান্ডটি
%matplotlib inline
আমার কনফিগার ফাইলটি পরিবর্তন করার কোনও উপায় আছে যাতে আমি আইপিথন চালু করার সময় এটি স্বয়ংক্রিয়ভাবে এই মোডে চলে আসে?
আমি যতবার আইপিথন নোটবুক চালু করি, আমি চালিত প্রথম কমান্ডটি
%matplotlib inline
আমার কনফিগার ফাইলটি পরিবর্তন করার কোনও উপায় আছে যাতে আমি আইপিথন চালু করার সময় এটি স্বয়ংক্রিয়ভাবে এই মোডে চলে আসে?
ipython --matplotlib
আরও ভাল
উত্তর:
আইপিথনের কনফিগারেশনের জন্য প্রোফাইল রয়েছে, এটিতে অবস্থিত ~/.ipython/profile_*
। ডিফল্ট প্রোফাইল বলা হয় profile_default
। এই ফোল্ডারের মধ্যে দুটি প্রাথমিক কনফিগারেশন ফাইল রয়েছে:
ipython_config.py
ipython_kernel_config.py
Matplotlib এর জন্য ইনলাইন বিকল্পটি এতে যুক্ত করুন ipython_kernel_config.py
:
c = get_config()
# ... Any other configurables you want to set
c.InteractiveShellApp.matplotlib = "inline"
এর ব্যবহার %pylab
ইনলাইন চক্রান্ত পেতে হয় নিরুৎসাহিত ।
এটি আপনার নেমস্পেসে সমস্ত ধরণের বন্দুকের পরিচয় দেয় যা আপনার কেবল প্রয়োজন হয় না।
%matplotlib
অন্যদিকে আপনার নাম স্থান ইনজেকশন ছাড়াই ইনলাইন প্লট করতে সক্ষম করে। ম্যাটপ্ল্লোব এবং নিম্পী আমদানি করার জন্য আপনাকে সুস্পষ্ট কলগুলি করতে হবে।
import matplotlib.pyplot as plt
import numpy as np
আপনার আমদানি স্পষ্টভাবে টাইপ করার ক্ষুদ্র মূল্যটি আপনার কাছে পুনরায় প্রজননযোগ্য কোড রয়েছে এই বিষয়টি দ্বারা সম্পূর্ণরূপে কাটিয়ে উঠতে হবে।
%matplotlib
কার্যকর হবে বা এটি উভয়ই ডিফল্ট ব্যাকএন্ড সেট করে এবং স্বয়ংক্রিয়ভাবে এটি অবিলম্বে ব্যবহারের জন্য সেট আপ করে কিনা আইপিথন পরিবেশ।
matplotlib
বনাম সম্পর্কিত @ কাইল কেলির সম্পাদনায় যোগ করতে আইপিথন pylab
প্রতিটি সময় আপনি প্রোফাইল ব্যবহার করে লঞ্চ করার সময় স্বেচ্ছাসেবক পাইথন কোডটি খুব সহজেই কার্যকর করা সহজ করে দেয়। আমি বিশ্বাস করি একটি প্রোফাইল যেখানে আপনি স্বয়ংক্রিয়ভাবে সাধারণ আমদানির পছন্দ কর আছে খুবই সাধারণ import numpy as np; import pandas as pd; import matplotlib.pyplot as plt
, ইত্যাদি বিশেষ দ্রষ্টব্য: pylab
হয় না একই জিনিস pyplot
। এটা বুঝতে আমার অবশ্যই এক মাস লেগেছিল।
ipython_kernel_config.py
রয়েছে, এতে এই বিকল্প রয়েছে। ipython profile create test
একটি ডিফল্ট পেতে একটি নতুন প্রোফাইল ( ) তৈরি করুন ।
c.InteractiveShellApp.matplotlib = "inline"
আমি মনে করি আপনি যা চান তা কমান্ড লাইন থেকে নিম্নলিখিতটি চালানো হতে পারে:
ipython notebook --matplotlib=inline
আপনি যদি প্রতিবার সেমিডি লাইনে এটি টাইপ করতে পছন্দ না করেন তবে আপনার জন্য এটি করার জন্য একটি নাম তৈরি করতে পারেন।
--matplotlib inline
এবং - অ্যাপ্ল্যাব স্টাফ সরান। আইপথন ডেভেল এর এই পোস্টটি দেখুন কেন: carreau.github.io/posts/10- কোন- পাইপ্যাব- ধন্যবাদ.আইপিনব.ইচটিএমএল
matplotlib=inline
: আপনি ম্যাটপ্ল্লোলিব ব্যবহার করতে চান কিনা তা বিবেচনা না করে এটি আপনার প্রবর্তন করা প্রতিটি কার্নেলকে ধীর করে দেবে।
--matplotlib
বা --pylab
উপেক্ষা করা হয়।
%pylab
বা %matplotlib
পরিবর্তে।
Jupyter 5.X
নীচে কোড যুক্ত করে সেটিংসটি অক্ষম করা হয়েছিল এবং তার চেয়ে বেশি
pylab = Unicode('disabled', config=True,
help=_("""
DISABLED: use %pylab or %matplotlib in the notebook to enable matplotlib.
""")
)
@observe('pylab')
def _update_pylab(self, change):
"""when --pylab is specified, display a warning and exit"""
if change['new'] != 'warn':
backend = ' %s' % change['new']
else:
backend = ''
self.log.error(_("Support for specifying --pylab on the command line has been removed."))
self.log.error(
_("Please use `%pylab{0}` or `%matplotlib{0}` in the notebook itself.").format(backend)
)
self.exit(1)
এবং পূর্ববর্তী সংস্করণগুলিতে এটি প্রধানত একটি সতর্কতা ছিল। তবে এটি কোনও বড় সমস্যা নয় কারণ জুপিটার ধারণাটি ব্যবহার করে kernels
এবং নীচে কমান্ড চালিয়ে আপনি আপনার প্রকল্পের জন্য কার্নেলটি খুঁজে পেতে পারেন
$ jupyter kernelspec list
Available kernels:
python3 /Users/tarunlalwani/Documents/Projects/SO/notebookinline/bin/../share/jupyter/kernels/python3
এটি আমাকে কার্নেল ফোল্ডারে যাওয়ার পথ দেয়। এখন আমি যদি /Users/tarunlalwani/Documents/Projects/SO/notebookinline/bin/../share/jupyter/kernels/python3/kernel.json
ফাইলটি খুলি , আমি নীচের মতো কিছু দেখতে পাচ্ছি
{
"argv": [
"python",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}",
],
"display_name": "Python 3",
"language": "python"
}
সুতরাং আপনি দেখতে পাচ্ছেন কার্নেলটি আরম্ভ করার জন্য কোন আদেশটি কার্যকর করা হয়। আপনি যদি নীচের কমান্ড চালাতে পারেন
$ python -m ipykernel_launcher --help
IPython: an enhanced interactive Python shell.
Subcommands
-----------
Subcommands are launched as `ipython-kernel cmd [args]`. For information on
using subcommand 'cmd', do: `ipython-kernel cmd -h`.
install
Install the IPython kernel
Options
-------
Arguments that take values are actually convenience aliases to full
Configurables, whose aliases are listed on the help line. For more information
on full configurables, see '--help-all'.
....
--pylab=<CaselessStrEnum> (InteractiveShellApp.pylab)
Default: None
Choices: ['auto', 'agg', 'gtk', 'gtk3', 'inline', 'ipympl', 'nbagg', 'notebook', 'osx', 'pdf', 'ps', 'qt', 'qt4', 'qt5', 'svg', 'tk', 'widget', 'wx']
Pre-load matplotlib and numpy for interactive use, selecting a particular
matplotlib backend and loop integration.
--matplotlib=<CaselessStrEnum> (InteractiveShellApp.matplotlib)
Default: None
Choices: ['auto', 'agg', 'gtk', 'gtk3', 'inline', 'ipympl', 'nbagg', 'notebook', 'osx', 'pdf', 'ps', 'qt', 'qt4', 'qt5', 'svg', 'tk', 'widget', 'wx']
Configure matplotlib for interactive use with the default matplotlib
backend.
...
To see all available configurables, use `--help-all`
সুতরাং এখন যদি আমরা আমাদের kernel.json
ফাইল আপডেট
{
"argv": [
"python",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}",
"--pylab",
"inline"
],
"display_name": "Python 3",
"language": "python"
}
এবং আমি যদি jupyter notebook
গ্রাফটি চালিত করি তবে স্বয়ংক্রিয়ভাবে হয়inline
নীচের পদ্ধতিটি এখনও কার্যকর হয় নোট করুন, যেখানে আপনি নীচের পথে একটি ফাইল তৈরি করেন
~ / .আইপিথন / প্রোফাইল_ডিফল্ট / আইপিথন_কারেল_কনফিগ.পি
c = get_config()
c.IPKernelApp.matplotlib = 'inline'
তবে এই পদ্ধতির অসুবিধাটি হ'ল এটি অজগর ব্যবহার করে প্রতিটি পরিবেশের একটি বিশ্বব্যাপী প্রভাব। আপনি যদি একক পরিবর্তন সহ পরিবেশের সর্বত্র একটি সাধারণ আচরণ করতে চান তবে এটি একটি সুবিধা হিসাবে বিবেচনা করতে পারেন।
সুতরাং আপনার প্রয়োজনের ভিত্তিতে আপনি কোন পদ্ধতিটি ব্যবহার করতে চান তা চয়ন করুন
আপনার ipython_config.py
ফাইলটিতে নিম্নলিখিত লাইনগুলি অনুসন্ধান করুন
# c.InteractiveShellApp.matplotlib = None
এবং
# c.InteractiveShellApp.pylab = None
এবং তাদের uncomment। তারপরে, None
আপনি যে ব্যাকএন্ডটি ব্যবহার করছেন (সেটি আমি ব্যবহার করি 'qt4'
) এ পরিবর্তন করুন এবং ফাইলটি সংরক্ষণ করুন। আইপিথন পুনরায় আরম্ভ করুন, এবং ম্যাটপ্ল্লিটিব এবং পাইবল্ড লোড করা উচিত - আপনি dir()
বিশ্বব্যাপী নেমস্পেসে কোন মডিউলগুলি তা যাচাই করতে কমান্ডটি ব্যবহার করতে পারেন ।
@ কাইল কেলি এবং @ ডিজি গ্রাডি-তে আরও এখানে প্রবেশিকাটি পাওয়া যাবে যা
$HOME/.ipython/profile_default/ipython_kernel_config.py
(বা আপনি যে কোনও প্রোফাইল তৈরি করেছেন)
পরিবর্তন
# Configure matplotlib for interactive use with the default matplotlib backend.
# c.IPKernelApp.matplotlib = none
প্রতি
# Configure matplotlib for interactive use with the default matplotlib backend.
c.IPKernelApp.matplotlib = 'inline'
এরপরে এটি আইপথন Qtconsole এবং নোটবুক সেশন উভয় ক্ষেত্রেই কাজ করবে।