আইপিথন নোটবুকটিতে কোড কার্যকর করা হয়েছে কিনা তা আমি কীভাবে পরীক্ষা করতে পারি?


89

আমার কাছে পাইথন কোডের কয়েকটি উদাহরণ রয়েছে যা আমি শেয়ার করতে চাই যা পাইথন / আইপিথন টার্মিনাল বা আইপিথন নোটবুকে কার্যকর হলে কিছু আলাদা করা উচিত।

আমার পাইথন কোডটি আইপিথন নোটবুকটিতে চলছে কিনা আমি কীভাবে তা পরীক্ষা করতে পারি?


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

উত্তর:


8

প্রশ্নটি কী আপনি ভিন্নভাবে কার্যকর করতে চান?

আমরা আইপিথনে যথাসাধ্য চেষ্টা করি যে কার্নেলটি কোন ধরণের ফ্রন্টএন্ড সংযুক্ত তা জেনে যাওয়া থেকে বিরত রাখে এবং বাস্তবে আপনি একই সাথে অনেকগুলি পৃথক সীমারেখার সাথেও একটি কার্নেল যুক্ত থাকতে পারেন। এমনকি আপনি stderr/outজেডএমকিউ কার্নেলের মধ্যে আছেন কিনা তা জানার ধরণটি যদি আপনি দেখতে পারেন তবে তা অন্যদিকে আপনার কী আছে তা আপনাকে গ্যারান্টি দেয় না। এমনকি আপনার কোনও সামনের অংশও থাকতে পারে না।

আপনার কোডটি সম্ভবত সীমান্তের স্বতন্ত্র পদ্ধতিতে লিখতে হবে, তবে আপনি যদি বিভিন্ন জিনিস প্রদর্শন করতে চান তবে আপনি সমৃদ্ধ ডিসপ্লে সিস্টেমটি ব্যবহার করতে পারেন (আইপিথনের সংস্করণ 4.x সংস্করণে লিঙ্ক করা) সীমান্তের উপর নির্ভর করে বিভিন্ন জিনিস প্রদর্শন করতে পারেন তবে সামনের অংশটি লাইব্রেরি নয়, বেছে নেবে।


4
আইপিথন রিচ ডিসপ্লে সিস্টেমের উপরের লিঙ্কটি নষ্ট হয়ে গেছে। এখানে বর্তমান ডকুমেন্টেশনের লিঙ্কটি রয়েছে: আইপিথন.আর.জিপথন.ডোক / দেব / কনফিগ / ইন্টিগ্রাটিং এইচটিএমএল এবং এখানে কয়েকটি দুর্দান্ত উদাহরণের একটি লিঙ্ক দেওয়া হয়েছে: nbviewer.ipython.org/github/ipython/ipython/blob/master/ …
Who8MyLunch

4
আমার অঙ্কন মডিউলে আমার এ জাতীয় সমস্যা রয়েছে । আমি আমদানি কল matplotlib.use ( "Agg") প্রয়োজন Travis-CI সেখানে সংরক্ষণ অঙ্কন (দেখুন করার অনুমতি stackoverflow.com/questions/4706451/... ) কিন্তু, এই একটি সতর্কবার্তা উত্পন্ন নোটবুক UserWarning: matplotlib.use এই কল () এর কোনও প্রভাব নেই কারণ ইতিমধ্যে ব্যাকএন্ডটি বেছে নেওয়া হয়েছে; কীভাবে সমাধান করবেন?
ডঃ গৌলু

33
আমার একটি উদাহরণ রয়েছে: অগ্রগতি বারগুলি। জুপিটার নোটবুক টার্মিনাল এমুলেটর প্রসারিত টার্মিনাল নিয়ন্ত্রণ অক্ষর যেমন \x1b[A(সরানো) সমর্থন করে না , তাই নেস্টেড বারগুলি মুদ্রণ করা সম্ভব নয় । আইপিউজেডগুলির সাথে কোনও সমস্যা নেই , আমরা অগ্রগতি বারগুলি প্রদর্শনের জন্য নেটিভ জুপিটার উইজেটগুলি ব্যবহার করতে পারি। তবে তারপরে আমাদের কাছে একটি অগ্রগতি বারটি প্রদর্শনের দুটি ভিন্ন উপায় রয়েছে এবং একটি অ্যাপ্লিকেশনটি উপযুক্ত পরিবেশটিকে খাপ খাইয়ে নিতে এবং প্রিন্ট করতে ডিসপ্লে পরিবেশটি কী তা জানতে চাইতে পারে।
চমত্কার

4
উদাহরণস্বরূপ, আমি আইপিথন কনফিগারেশনটি সর্বদা চালানোর জন্য সেট করতে চাই %matplotlib inlineযখন এটি নোটবুক হিসাবে কাজ করে তবে টার্মিনালে নয়, যেহেতু এটির প্রয়োজন হয় না।
সিপ্রিয়ান টোমাইগă

4
যদিও এটি নিখুঁতভাবে বৈধ মতামত, এই উত্তরটি আসল প্রশ্নটিকে সম্বোধন করে না। আপনি যতটা ইচ্ছা তা বিবেচনা করুন তা না হলে অন্যথায় আচরণের ক্ষেত্রে সর্বদা মতপার্থক্য থাকবে।
ক্রিস্টোফার নাপিত

72

নিম্নলিখিত আমার প্রয়োজনের জন্য কাজ করেছে:

get_ipython().__class__.__name__

এটি 'TerminalInteractiveShell'টার্মিনাল আইপিথনে, 'ZMQInteractiveShell'জুপিটারে (নোটবুক এবং কিউটকনসোল) ফিরে আসে এবং NameErrorনিয়মিত পাইথন ইন্টারপ্রেটারে ব্যর্থ হয় ( )। get_python()আইপিথন শুরু হওয়ার পরে পদ্ধতিটি ডিফল্টরূপে বিশ্বব্যাপী নেমস্পেসে উপলব্ধ বলে মনে হয়।

একটি সাধারণ ফাংশন এ এটি মোড়ানো:

def isnotebook():
    try:
        shell = get_ipython().__class__.__name__
        if shell == 'ZMQInteractiveShell':
            return True   # Jupyter notebook or qtconsole
        elif shell == 'TerminalInteractiveShell':
            return False  # Terminal running IPython
        else:
            return False  # Other type (?)
    except NameError:
        return False      # Probably standard Python interpreter

উপরেরটি পাইথন ৩.৩.২, আইপিথন ৫.১.০ এবং জুপিটার ৪.২.১ সাথে ম্যাকওএস ১০.১২ এবং উবুন্টু ১৪.০৪.৪ এলটিএসে পরীক্ষা করা হয়েছিল


4
চালু আছে jupyter console, দুর্ভাগ্যক্রমে এরও get_ipython()একটি উদাহরণ ZMQInteractiveShellদেয়
জোশ বোদে

7
যদি কেউ গুগল কোলাবে নোটবুকটি চলছে কিনা তা সনাক্ত করতে আগ্রহী আপনি get_ipython().__class__.__module__ == "google.colab._shell"
guiferviz

4
এটি কেবল নোটবুকের কোডের জন্য কাজ করে। যদি ফাংশনটি আমদানি করা প্যাকেজে থাকে তবে এটি কাজ করে না।
ক্রিস্টোফার নাপিত

4
@ ক্রিস্টোফারবারবার এটি যা দেখছি তা নয়। যদি আমি এই ফাংশনটি কোনও ফাইলে আটকান test.pyতবে from test import isnotebook; print(isnotebook())একটি বৃহত্তর নোটবুকটিতে চালান , এটি মুদ্রণ করে True। (নোটবুক সার্ভার সংস্করণ 5.2.1 এবং 6.0.1 এ পরীক্ষিত।)
মার্ক অ্যামেরি

আমি ভেবেছিলাম এমন কিছু ঘটনা রয়েছে যা আমার পক্ষে কার্যকর হয়নি তবে দুর্ভাগ্যক্রমে আমি বিশদটি মনে করি না। সম্ভবত এটি আর সমস্যা নয় বা সম্ভবত আমি কেবল বিভ্রান্ত হয়ে পড়েছিলাম।
ক্রিস্টোফার বার্বার

41

আপনি কোনও নোটবুকে রয়েছেন কিনা তা যাচাই করার জন্য, যা গুরুত্বপূর্ণ হতে পারে যেমন কোন ধরণের প্রগতিবারটি ব্যবহার করবেন তা নির্ধারণ করার সময়, এটি আমার পক্ষে কাজ করেছে:

def in_ipynb():
    try:
        cfg = get_ipython().config 
        if cfg['IPKernelApp']['parent_appname'] == 'ipython-notebook':
            return True
        else:
            return False
    except NameError:
        return False

6
আমার আইপথন-নোটবুক-এ (আইপিথন সংস্করণ 3.1) cfg['IPKernelApp']['parent_appname']একটি IPython.config.loader.LazyConfigValue, যা এর Trueসাথে তুলনা করে না"iypthon-notebook"
ডক্স

4
@ জুয়ানজাক্স get_ipython ipynb IPython.kernel.zmq.zmqshell.ZMQInteractiveShell(Jupyter) এবং IPython.terminal.interactiveshell.TerminalInteractiveShellএকটি টার্মিনাল REPL এ একটি উদাহরণ দেয় , যদি আপনাকে নোটবুক এবং টার্মিনাল / কনসোলগুলির মধ্যে পার্থক্য করতে হয় (যা প্লটিংকে প্রভাবিত করে)।
hobs

4
^ সুতরাং আপনি tryreturn str(type(get_ipython())) == "<class 'ipykernel.zmqshell.ZMQInteractiveShell'>"
এইটির

@ ডক্সের মতো এটি আমার পক্ষে কাজ করে না; এটি সর্বদা মিথ্যা, এমনকি একটি নোটবুকেও ফেরত দেয়। সন্দেহ হয় যে এই ধরণের উত্তরটি কোনও ধরণের অলস কনফিগারেশন লোডিং সিস্টেমের প্রবর্তনের সাথে অচল হয়ে পড়ে।
মার্ক

আপনার কনফিগারেশনটি খালি ডিক হিসাবে আবার ফিরে আসতে পারে, সেই ক্ষেত্রে আপনাকে ব্লক ব্যতীত কী-ইরার যুক্ত করতে হবে ror গুস্তাভো বেজারের উত্তরের উপর ভিত্তি করে কোড ব্যবহার করা তবে এটি সম্ভবত আরও ভাল। যদিও আমি একটি খালি কনফিগার পাই, shell='PyDevTerminalInteractiveShell'বর্গের নামটি পরীক্ষা করার সময় আমি পাই I
hlongmore

29

নিম্নলিখিত স্নিপেটের সাথে পাইথন ইন্টারেক্টিভ মোডে রয়েছে কিনা তা আপনি পরীক্ষা করতে পারেন [1] :

def is_interactive():
    import __main__ as main
    return not hasattr(main, '__file__')

আমি এই পদ্ধতিটি খুব দরকারী বলে খুঁজে পেয়েছি কারণ আমি নোটবুকে প্রচুর প্রোটোটাইপিং করি। পরীক্ষার উদ্দেশ্যে, আমি ডিফল্ট পরামিতি ব্যবহার করি। অন্যথায়, আমি প্যারামিটারগুলি পড়েছি sys.argv

from sys import argv

if is_interactive():
    params = [<list of default parameters>]
else:
    params = argv[1:]

এর বাস্তবায়ন অনুসরণ করে autonotebookআপনি নীচের কোডটি ব্যবহার করে কোনও নোটবুকে রয়েছেন কিনা তা বলতে পারবেন।

def in_notebook():
    try:
        from IPython import get_ipython
        if 'IPKernelApp' not in get_ipython().config:  # pragma: no cover
            return False
    except ImportError:
        return False
    return True

পাইথন-সি "ডিএফ is_interactive ():> প্রধান হিসাবে আমদানি করুন > হ্যাশট্রা না (মূল, ' ফাইল ')> মুদ্রণ is_interactive ()" সত্য
মার্শার

4
is_interactive()নোটবুক এবং কনসোলের মধ্যে পার্থক্য করে না।
5

4
%runআইপিথন থেকে একটি জারি করা অন্য ইন্টারঅ্যাকটিভ। আপনি এটি যুক্তি দিতে পারেন, তবে এটি এখনও একটি গেটচা।
dirkjot

অন্যদের জন্য নোটবুকে প্রোটোটাইপিংয়ের জন্য, এখানে বৈশিষ্ট্যযুক্ত টিলের পদ্ধতির রূপটি কার্যকর হতে পারে।
ওয়েইন

এই উত্তরের দ্বিতীয়ার্ধটি কার্যকর, তবে প্রথমার্ধটি (প্রায় is_interactive) আমার কাছে প্রশ্নের মূলত অপ্রাসঙ্গিক বলে মনে হচ্ছে। এটি সন্দেহজনক সঠিকতারও; @ মার্সচার যেমন উল্লেখ করেছেন, এটি python -cসত্য না হলেও "ইন্টারেক্টিভ" মোডে ব্যবহার করে যে কোনও রান চালানো গণনা করে । এটি আমার উত্তর না হওয়ায় আমি নিজেই এটি করতে চাই না, তবে আমি মনে করি কেবল উত্তরটির পুরো প্রথমার্ধটি মুছে ফেলে এটি উন্নত হবে।
মার্ক অ্যামেরি

17

সম্প্রতি আমি জুপিটার নোটবুকটিতে একটি বাগের মুখোমুখি হয়েছি যার জন্য একটি কার্যপ্রণালী প্রয়োজন এবং আমি অন্যান্য শেলগুলিতে কার্যকারিতা হারিয়ে না ফেলে এটি করতে চেয়েছিলাম। আমি বুঝতে পেরেছি যে কেফ্লাভিচের সমাধান এই ক্ষেত্রে কাজ করে না, কারণ get_ipython()কেবলমাত্র নোটবুক থেকে পাওয়া যায়, আমদানি করা মডিউলগুলি থেকে নয়। সুতরাং আমি আমার মডিউলটি এটি জুপিটার নোটবুক থেকে আমদানি করা এবং ব্যবহৃত কিনা তা সনাক্ত করার একটি উপায় খুঁজে পেয়েছি:

import sys

def in_notebook():
    """
    Returns ``True`` if the module is running in IPython kernel,
    ``False`` if in IPython shell or other Python shell.
    """
    return 'ipykernel' in sys.modules

# later I found out this:

def ipython_info():
    ip = False
    if 'ipykernel' in sys.modules:
        ip = 'notebook'
    elif 'IPython' in sys.modules:
        ip = 'terminal'
    return ip

মন্তব্য যথেষ্ট প্রশংসনীয় যদি প্রশংসা করা হয়।

একইভাবে ক্লায়েন্ট এবং আইপিথন সংস্করণ সম্পর্কে কিছু তথ্য পাওয়া সম্ভব:

import sys

if 'ipykernel' in sys.modules:
    ip = sys.modules['ipykernel']
    ip_version = ip.version_info
    ip_client = ip.write_connection_file.__module__.split('.')[0]

# and this might be useful too:

ip_version = IPython.utils.sysinfo.get_sys_info()['ipython_version']

এইচএম, আমি ফেডোরা 23 জুপিটার ব্যবহার করছি, এবং সেখানে 'Ipython' in sys.modulesমূল্যায়ন করছি False। সম্ভবত আপনি বলতে চান 'IPython' in sys.modules? এটি Trueআমার জুপিটার পরিবেশে। sys.modulesঅভিধান এছাড়াও অন্তর্ভুক্ত নয় 'ipykernel'কী - যখন একটি নোটবুক ভিতরে চলছে।
ম্যাক্সচলেপজিগ

4
এটি এখন পর্যন্ত সেরা উত্তর, আইএমও। স্বল্প ও মধুর.
danielpcox

3

অজগর জন্য পরীক্ষিত 3.7.3

সিটিথন বাস্তবায়নের নামটি __builtins__তাদের গ্লোবালগুলির অংশ হিসাবে উপলব্ধ রয়েছে যা বিটিডব্লিউ। ফাংশন গ্লোবাল () দ্বারা পুনরুদ্ধার করা যেতে পারে।
আইপিথন পরিবেশে যদি কোনও স্ক্রিপ্ট চলমান থাকে তবে এর __IPYTHON__একটি বৈশিষ্ট্য হওয়া উচিত __builtins__
তাই নীচের কোডটি Trueআইপিথনের অধীনে চালিত হলে তা দেয় বা অন্যথায় দেয়False

hasattr(__builtins__,'__IPYTHON__')

2

নিম্নলিখিতগুলির আউটপুট পার্স করার প্রয়োজন ছাড়াই https://stackoverflow.com/a/50234148/1491619 এর কেসগুলি ক্যাপচার করেps

def pythonshell():
    """Determine python shell

    pythonshell() returns

    'shell' (started python on command line using "python")
    'ipython' (started ipython on command line using "ipython")
    'ipython-notebook' (e.g., running in Spyder or started with "ipython qtconsole")
    'jupyter-notebook' (running in a Jupyter notebook)

    See also https://stackoverflow.com/a/37661854
    """

    import os
    env = os.environ
    shell = 'shell'
    program = os.path.basename(env['_'])

    if 'jupyter-notebook' in program:
        shell = 'jupyter-notebook'
    elif 'JPY_PARENT_PID' in env or 'ipython' in program:
        shell = 'ipython'
        if 'JPY_PARENT_PID' in env:
            shell = 'ipython-notebook'

    return shell

আমার জন্য, এই মাত্র শো jupyterকিনা এটি একটি jupyter console, jupyter qtconsoleবা jupyter notebook
লুক ডেভিস

2

আমি নির্দিষ্ট ফ্রন্টএন্ড সনাক্ত করতে এড়িয়ে চলার পরামর্শ দেব কারণ সেগুলির মধ্যে অনেকগুলি রয়েছে । পরিবর্তে আপনি কেবল আইপিথন পরিবেশের মধ্যে থেকে চালাচ্ছেন কিনা তা পরীক্ষা করতে পারেন:

def is_running_from_ipython():
    from IPython import get_ipython
    return get_ipython() is not None

Falseআপনি যদি running_from_ipythonসাধারণ পাইথন কমান্ড লাইন থেকে আবেদন করেন তবে উপরে ফিরে আসবেন । আপনি যখন এটি জুপিটার নোটবুক, জুপিটারহাব, আইপিথন শেল, গুগল কোলাব ইত্যাদি থেকে প্রার্থনা করবেন তখন তা ফিরে আসবে True


আমার পক্ষে কাজ করে না - যখন আমি পাইথন 3 সহ উবুন্টু জুপিটার নোটবুকটিতে এটি চেষ্টা করি তখন get_ipython()ফিরে আসে <ipykernel.zmqshell.ZMQInteractiveShell at 0x7f750ba94320>
নায়িকা

এই পদ্ধতির সাথে সমস্যাটি হ'ল এটি ওপি-র প্রশ্নের সমাধান করে না, "আমি যদি পাইথন কোডটি আইপিথন নোটবুকটিতে চালিত হয় তবে আমি কীভাবে তা পরীক্ষা করতে পারি ?" (জোর আমার)। আইপিথন শেলটি কোনও নোটবুক নয়, তবে আমি যখন পাইচর্মের পাইথন কনসোলে এটি চালাচ্ছি তখন আমি get_ipython() is not Noneফিরে আসব True
hlongmore

এইচএম, আমি কীভাবে জুপেটার বনাম ভয়েলা চালাচ্ছি তা সনাক্ত করব?
এনটিজি 12

2

আপনাকে যা করতে হবে তা হ'ল আপনার নোটবুকের শুরুতে এই দুটি ঘর স্থাপন করা:

সেল 1: ("কোড" হিসাবে চিহ্নিত):

is_notebook = True

সেল 2: ("কাঁচা এনবিসি রূপান্তর" হিসাবে চিহ্নিত):

is_notebook = False

প্রথম ঘরটি সর্বদা কার্যকর করা হবে তবে আপনি যখন পাইথন স্ক্রিপ্ট হিসাবে নোটবুকটি রফতানি করবেন তখন দ্বিতীয় ঘরটি কেবল কার্যকর হবে।

পরে, আপনি যাচাই করতে পারেন:

if is_notebook:
    notebook_code()
else:
    script_code()

আশাকরি এটা সাহায্য করবে.



1

যতদূর আমি জানি, এখানে 3 ধরণের আইপিথন ব্যবহৃত হয়েছে ipykernel

  1. ipython qtconsole (সংক্ষেপে "কিটিপিথন")
  2. স্পাইডার আইপিথন (সংক্ষেপে "স্পাইডার")
  3. জুপিটার নোটবুকের আইপিথন (সংক্ষেপে "জেএন")

ব্যবহার 'spyder' in sys.modulesস্পাইডার পার্থক্য করতে পারে

তবে কটিপিথন এবং জেএন এর পক্ষে কারণকে আলাদা করা শক্ত

তাদের একই sys.modulesএবং একই আইপিথন কনফিগারেশন রয়েছে:get_ipython().config

আমি কিটিপিথন এবং জেএন-র মধ্যে একটি আলাদা খুঁজে পাই:

os.getpid()আইপিথন শেলের প্রথম রান পিড নম্বর পাবেন

তারপর চালান ps -ef|grep [pid number]

আমার কোটিপিথন পিডটি 8699 yanglei 8699 8693 4 20:31 ? 00:00:01 /home/yanglei/miniconda2/envs/py3/bin/python -m ipykernel_launcher -f /run/user/1000/jupyter/kernel-8693.json

আমার জেন পিড 8832 yanglei 8832 9788 13 20:32 ? 00:00:01 /home/yanglei/miniconda2/bin/python -m ipykernel_launcher -f /run/user/1000/jupyter/kernel-ccb962ec-3cd3-4008-a4b7-805a79576b1b.json

কটিপাইথন এবং জেএন-এর আলাদা আলাদা আলাদা নাম হ'ল আইপথনের জসন নাম, জেএন-এর জসন নামটি কটিপিথনের চেয়ে দীর্ঘ

সুতরাং, আমরা নিম্নলিখিত কোডের মাধ্যমে সমস্ত পাইথন পরিবেশটি স্বয়ংক্রিয়ভাবে সনাক্ত করতে পারি:

import sys,os
def jupyterNotebookOrQtConsole():
    env = 'Unknow'
    cmd = 'ps -ef'
    try:
        with os.popen(cmd) as stream:
            if not py2:
                stream = stream._stream
            s = stream.read()
        pid = os.getpid()
        ls = list(filter(lambda l:'jupyter' in l and str(pid) in l.split(' '), s.split('\n')))
        if len(ls) == 1:
            l = ls[0]
            import re
            pa = re.compile(r'kernel-([-a-z0-9]*)\.json')
            rs = pa.findall(l)
            if len(rs):
                r = rs[0]
                if len(r)<12:
                    env = 'qtipython'
                else :
                    env = 'jn'
        return env
    except:
        return env

pyv = sys.version_info.major
py3 = (pyv == 3)
py2 = (pyv == 2)
class pyi():
    '''
    python info

    plt : Bool
        mean plt avaliable
    env :
        belong [cmd, cmdipython, qtipython, spyder, jn]
    '''
    pid = os.getpid()
    gui = 'ipykernel' in sys.modules
    cmdipython = 'IPython' in sys.modules and not gui
    ipython = cmdipython or gui
    spyder = 'spyder' in sys.modules
    if gui:
        env = 'spyder' if spyder else jupyterNotebookOrQtConsole()
    else:
        env = 'cmdipython' if ipython else 'cmd'

    cmd = not ipython
    qtipython = env == 'qtipython'
    jn = env == 'jn'

    plt = gui or 'DISPLAY' in os.environ 

print('Python Envronment is %s'%pyi.env)

উত্স কোডটি এখানে রয়েছে: পাইথন পরিবেশ সনাক্তকরণ, বিশেষত স্পাইডার, জুপিটার নোটবুক, Qtconsole.py পার্থক্য করুন


0

আইপিথন চালু করতে আমি জ্যাঙ্গো শেল প্লাস ব্যবহার করছি এবং আমি জাজানো সেটিংস মান হিসাবে 'নোটবুক চালানো' উপলব্ধ করতে চেয়েছিলাম। get_ipython()সেটিংস লোড করার সময় উপলভ্য নয়, তাই আমি এটি ব্যবহার করি (যা বুলেটপ্রুফ নয়, তবে এটি যে স্থানীয় উন্নয়নের পরিবেশে ব্যবহৃত হয় তার পক্ষে যথেষ্ট ভাল):

import sys

if '--notebook' in sys.argv:
    ENVIRONMENT = "notebook"
else:
    ENVIRONMENT = "dev"

0

ধরে নিই যে আপনি জুপিটার নোটবুকের নিয়ন্ত্রণ রাখতে পারেন:

  1. এমন কোনও ঘরে একটি পরিবেশ মান সেট করুন যা এটি আপনার কোডে পতাকা হিসাবে ব্যবহার করে । সেই ঘরে একটি অনন্য মন্তব্য রাখুন (বা আপনি যে সমস্ত ঘর বাদ দিতে চান)

    # বাদ দিন_ফর্ম_এক্সপোর্ট
    % সেট_ইন_জুপাইটার = 1

  2. নোটবুকটি অন্য প্রসঙ্গে ব্যবহার করতে পাইথন স্ক্রিপ্ট হিসাবে রফতানি করুন। রফতানিতে মন্তব্য করা ঘর (গুলি) এবং পরবর্তীকালে কোডটি পরিবেশ মান নির্ধারণ করে। দ্রষ্টব্য: আপনার আসল নোটবুক ফাইলের নামের সাথে your_notebook.ipynb প্রতিস্থাপন করুন।

    jupyter nbconvert --to স্ক্রিপ্ট --RegexRemovePreprocessor. Patterns = "['' # বাদ দিন_ফর্ম_এক্সপোর্ট ']" আপনার_নোটবুক.আইপিনব

এটি এমন একটি ফাইল তৈরি করবে যাতে জুপির পরিবেশ পতাকা পতাকা সেট কোডের জন্য মঞ্জুরি দেয় না যা এটি নির্বিচারে কার্যকর করতে ব্যবহার করে।

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