আইপথন ভুল পাইথন সংস্করণ পড়ে


103

পাইথন, আইপ্যাথন এবং গ্রন্থাগারগুলি নিয়ে আমার সমস্যা হচ্ছে। নিম্নলিখিত বিষয়গুলি সমস্যাগুলির শৃঙ্খলা দেখায়। আমি ম্যাক লায়নে পাইথন ২.7 চালাচ্ছি।

  1. আইপিথন স্কিপি, ম্যাটপ্ল্লোলিবের লাইব্রেরিগুলি পড়েন না, তবে এটি অদ্ভুতভাবে পড়তে পারে।
  2. এটি ঠিক করার জন্য, আমি পাইথনের উত্স কোড সংস্করণটি ইনস্টল করার চেষ্টা করেছি এবং এটি এখন থেকে আমাকে আরও সমস্যা দিয়েছে কারণ আমার দুটি ভিন্ন সংস্করণ রয়েছে: 2.7.1 এবং 2.7.2
  3. আমি লক্ষ্য করেছি যে পাইথন চলমান, সংস্করণ ২.7.২ ব্যবহার করে এবং স্কিপি, ম্যাটপ্লোটিলিব এবং নম্পিটি আমদানি করে তবে আইপাইথনে সংস্করণটি ২.7.১ যা স্কিপি বা ম্যাটপ্ল্লোটিব খোলায় না।

অন্যান্য ব্লগপস্টগুলি থেকে আমি বেশ কয়েকটি জিনিস চেষ্টা করেছি। তবে তাদের কেউই সহায়তা করেনি এবং দুর্ভাগ্যক্রমে আমি তাদের বেশিরভাগের সাথে আমি কী করছি তা বেশিরভাগই জানি না। উদাহরণস্বরূপ: আমি ইজি_ইনস্টল এবং পাইপ দিয়ে আইপথন আনইনস্টল এবং পুনরায় ইনস্টল করার চেষ্টা করেছি। আমি হোমব্রিউয়ের মাধ্যমে সমস্ত কিছু পুনরায় ইনস্টল করার চেষ্টা করেছি এবং পথটি পরিবর্তিত করেছি ash


6
ipythonস্ক্রিপ্ট নির্দিষ্ট পাইথন সংস্করণ এটির সাথে ইনস্টল করা ছিল থেকে "বাঁধা" হয় - এটি স্বয়ংক্রিয়ভাবে তুমি গত ইনস্টল স্যুইচ করা হবে না। আপনি যদি প্রথমে 2.7.1 ইনস্টল করেন, তারপরে আইপিথন, তারপরে উত্স থেকে 2.7.2, আপনার আইপিথনটি 2.7.1 ব্যবহার করতে থাকবে। আপনাকে হয় আপনার সমস্ত ফ্লাইংয়ের কাজটি পূর্বাবস্থায় ফেরাতে হবে, আপনার মূল পাইথন সংস্করণে ফিরে যেতে হবে এবং কারণ পয়েন্ট 1 এর পিছনে কী কারণ ছিল তা নির্ধারণ করতে হবে; পর্যায়ক্রমে, পাইথন ইনস্টল করে আইপিথন পুনরায় ইনস্টল করুন আপনার প্রয়োজনীয় লাইব্রেরিগুলিতে অ্যাক্সেস করতে পারেন।
মিলিমুজ

আপনি কি আরও নির্দিষ্ট করে বলতে পারেন? ... ধন্যবাদ
ডিয়েগো-এমএক্স

1
কোন অংশ সম্পর্কে নির্দিষ্ট? আইপিথন স্টার্টআপ কীভাবে কাজ করে, বা কীভাবে সমস্যাটি দূর হয়?
মিলিমুজ

1
মূলত, আপনি যখন কোনও পাইথন "প্রোগ্রাম" ইনস্টল করেন, আইপিথন বা এমনকি ইজিস্টিনস্টলের মতো, প্রোগ্রামটির স্টার্টআপ স্ক্রিপ্টটি সর্বদা পাইথন এক্সিকিউটেবল ব্যবহারের জন্য সেট করা থাকে যা এটি ইনস্টল করা হয়েছিল। সুতরাং, যদি আপনার লাইব্রেরিগুলি ছাড়া পাইথন ২..1.১ থাকে এবং তারপরে আইপিথন ইনস্টল করেন, আইপিথনটি পাইথন ২.7.১ ইনস্টলেশনতে "ইন" ইনস্টল করা হয় এবং ipythonএক্সিকিউটেবলের সাথে একটি লিঙ্ক আপনার PATH এ স্থাপন করা হয়। যদি আপনি উত্স থেকে পাইথন ২.7.২ ইনস্টল করেন তবে এটি পাইথনের একটি নতুন, পৃথক অনুলিপি এটির বিদ্যমান আইটিথন বিদ্যমান 2.7.1 এর আপগ্রেড করবে না। সুতরাং আইপিথন এটিতে 2.7.2 অনুলিপি বা কোনও লাইব্রেরি দেখতে পাবে না।
মিলিমুজ

1
গ্রন্থাগারগুলি একই কাজ করে। যদি আপনি উত্স থেকে পাইথন ২.7.২ ইনস্টল করার পরে নম্পী ইত্যাদি ইনস্টল করেন তবে সেগুলি সম্ভবত ২.7.২ ডিরেক্টরিতে ইনস্টল করা হয়েছিল। এর অর্থ হল পাইথন ২.7.১ সংস্করণটি সেই লাইব্রেরিগুলিকে মোটেও দেখতে পাবে না। আইপিথন যেহেতু ২.7.১ ইনস্টল করা আছে তাই এটি সেই লাইব্রেরিগুলিও দেখতে পেল না। মূলত, আপনার সিস্টেমে পাইথনের সম্পূর্ণ আলাদা আলাদা কপি থাকতে পারে, তবে কোনটি কোনটির জন্য ব্যবহৃত হয় তা কঠোরভাবে পর্যবেক্ষণ করা যেতে পারে। আপনি কী করছেন তা যদি না জানেন তবে পাইথনের অন্তর্নির্মিত সংস্করণটি শুরু করা ভাল এবং অনুপস্থিত লাইব্রেরিগুলি পুনরায় ইনস্টল করা ভাল
মিলিমুজ

উত্তর:


147

ঠিক আছে দ্রুত সমাধান:

which python

তোমাকে দেয় /usr/bin/python, তাই না? ডু

which ipython

এবং আমি বাজি ধরে যাব /usr/local/bin/ipython। আসুন ভিতরে তাকান:

9/7/16 সম্পাদনা করুন - ফাইলটি এখন এমন দেখাচ্ছে:

cat /usr/local/bin/ipython

#!/usr/bin/python

# -*- coding: utf-8 -*-
import re
import sys

from IPython import start_ipython

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
    sys.exit(start_ipython())

এবং আমার মতো এটি সঠিকভাবে কাজ করে তবে আমার পরিস্থিতি একেবারে ওপি'র মতো নয়।


আসল উত্তর - 9/30/13:

cat /usr/local/bin/ipython

#!/usr/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'ipython==0.12.1','console_scripts','ipython'
__requires__ = 'ipython==0.12.1'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('ipython==0.12.1', 'console_scripts', 'ipython')()
    )

আহা - /usr/local/bin/ipythonআপনার সম্পাদকটিতে (সুবিধাগুলি সহ) খুলুন , এবং প্রথম লাইনটি এতে পরিবর্তন করুন

#!/usr/local/bin/python

সংরক্ষণ করুন, আইপ্যাথন শুরু করুন, এটি এখন আপনার চান সংস্করণটি ব্যবহার করা উচিত।


41
সন্দেহের python -m IPythonসাথে সমান ipython, আশা করি আপনি সঠিক পাইথনটি ব্যবহার করবেন বলে নিশ্চিত।
ম্যাট

2
টার্মিনালটি বন্ধ করে একটি নতুন খুলতেও মনে রাখবেন। যেহেতু PATH দক্ষতার জন্য শেল দ্বারা ক্যাশে করা হয়েছে। এইভাবে আমি এই সমাধানটি আমার পক্ষে কাজ করলাম। দেখুন: conda.pydata.org/docs/…
পার্সেথিস

@Matt। আমিও অভিজ্ঞতা অর্জন করেছি। আমার কেসটি হল "পাইথন-মি আইপিথন" আমি যে সঠিক সংস্করণটি চেয়েছিলাম তা চাইবে। তবে কেবল 'আইপথন', এটি একটি অনুলিপি শুরু করেছে যা পুরাতন পাইথন 2 ব্যবহার করে। রহস্যটি হ'ল যদি আমি একটি "যা আইপ্যাথন" করি তবে এটি পাইথন ফাইলের সামগ্রীর সাথে ভার্চুয়ালেনভ অনুলিপিটির দিকে দৃশ্যমানভাবে সঠিক।
কাভিংকেলভিন

15

@ ম্যাট এর মন্তব্য উত্তর হিসাবে পোস্ট করা ঠিক তাই এটি আরও দৃশ্যমান

python -m IPython

পাইথনটি প্রথমে পাথর অ্যাক্সেসযোগ্য যা মডিউল হিসাবে লোড করে ip আমার ক্ষেত্রে আমার একটি প্রাক ইনস্টল করা ছিল এবং আমি একটি বারু থেকে যুক্ত করেছি। এটি ঠিক নিখুঁতভাবে কাজ করে।


সম্ভবত এই প্রশ্নের উত্তর নয় তবে এটি এই প্রশ্নের উত্তর: "কীভাবে পাইথন সংস্করণ ইনস্টল করা আছে আইপিথন কীভাবে চালানো যায়"। ধন্যবাদ।
স্লেয়াঙ্গোজ

9

একটি ভার্চুয়ালেনভ ব্যবহার সম্পর্কে কী? আমি সত্যিই এটা পছন্দ করি. সম্ভবত এটি দ্রুততর পথ নয়, তবে আমি মনে করি এটি খুব পরিষ্কার।

আপনি যখন ভার্চুয়ালেনভ তৈরি করেন, আপনি -p পতাকা সহ পাইথন পাথটি নির্দিষ্ট করতে পারেন।

অজগর জন্য 2.7

$ virtualenv -p /usr/bin/python2.7 venv2.7
$ source venv2.7/bin/activate
(venv2.7)$ pip install ipython
(venv2.7)$ ipython

অজগর জন্য 3.4

$ virtualenv -p /usr/bin/python3.4 venv3.4
$ source venv3.4/bin/activate
(venv3.4)$ pip install ipython
(venv3.4)$ ipython

2
এটি একটি পুরানো থ্রেড, তবে আমি পুরো ভ্যুচুয়ালিএনভিও এসেছি এবং তাদের উন্নত পণ্যগুলির জন্য পছন্দ করছি। তবে "দৈনন্দিন" বিশ্লেষণের উদ্দেশ্যে, আমি বরং আমার সিস্টেমে পাইথন / আইপথনের একটি সরাসরি আপ ব্যবহারযোগ্য সংস্করণ চাই
দিয়েগো-এমএক্স

1
python -m IPythonপ্রদত্ত সংস্করণের সাথে ipython শুরু হবেpython
জিয়াও

1
নোট করুন যে python -m IPythonএটি ইনস্টল করা প্রয়োজন:pip install ipython
Xiao

6

প্রথমত, আমি নিশ্চিত করব যে আপনি সঠিক অজগরটি ব্যবহার করছেন। কমান্ড প্রম্পটে টাইপ করুন:

which python
python -V

প্রথমটি আপনাকে পথটি বলবে, দ্বিতীয়টি আপনি ব্যবহার করছেন পাইথন সংস্করণটি।


ঠিক আছে তাই, এটি আমাকে পাইড়ন ২.7.২ / ইউএসআর / লোকাল / বিন / পাইথন দেয়
ডিয়েগো-এমএক্স

4

আমার সমাধানটি সহজ, বোকা তবে কাজ।

আমি python -Vসংস্করণ কি তা নিশ্চিত করতে ব্যবহার করি

$ python -V
Python 2.7.10

এবং তারপরে .বাশ_ প্রোফাইলে উপনাম তৈরি করুন

$ vi ~/.bash_profile

একটি লাইন যুক্ত করুন

alias ipython="python -m IPython"

তারপরে আপনি ipythonপাইথন ২.7 এ পাবেন। 🙂

(যাইহোক, আমার ipythonমাধ্যমে ইনস্টল করা হয়েছে homebrew, এটি ডিফল্ট পাইথন 3 এ একটি আইপথন রান পাবেন))

$ brew install ipython

2

অত্যন্ত প্রাসঙ্গিক: http://conda.pydata.org/docs/troubleshૂટ . html#shell-command-location

td; lr সমস্যাগুলি শেল 'হ্যাশিং' এবং পাথ ভেরিয়েবলের কারণে সম্মুখীন হয়।


এছাড়াও একটি সাধারণ ভাল অভ্যাস হ'ল ভার্চুয়ালেনভে আইপিথন ইনস্টল করা। আপনার which pythonভ্যাচুয়ালেভ পাইথন বাইনারিটি নির্দেশ করা উচিত।
পার্সেথিস

শেল হ্যাশিং আমাকে বিট করে, এমনকি ভার্চুয়ালেনভের ভিতরে আইপিথন ইনস্টল করার পরেও। hash -rএটা আমার জন্য স্থির; ধন্যবাদ!
theY4Kman

1

পাইএনভ ব্যবহার করে একটি অনুরূপ পদ্ধতি

pyenv install 3.4.5
pyenv local 3.4.5
pip install ipython
ipython

এখন এটি অজগরটির সঠিক সংস্করণ প্রদর্শন করবে

Python 3.4.5

1

আমি পরিপূর্ণ সহজ সমাধানটির কথা ভাবতে পারি, যার জন্য পরিবেশ, ইনস্টল করা ফাইল বা অন্য যে কোনও কিছু নিয়ে ঝাঁকুনির প্রয়োজন নেই, এই তথ্যের উপর নির্ভর করে

  1. এক্সিকিউটেবল ipythonআসলে পাইথন স্ক্রিপ্ট।
  2. আইপিথন প্যাকেজটি আপনি যে দোভাষী নিয়ে এসেছিলেন সেগুলির জন্য পৃথকভাবে ইনস্টল করা pip intallআছে।

পাইথনের যে সংস্করণটি আপনি রান্নিনিগ করছেন তাতে যদি একটি আইপিথন প্যাকেজ ইনস্টল থাকে তবে আপনি এটি করতে পারেন

/path/to/desired/python $(which ipython)

এটি ipythonশেবাং-এ তালিকাবদ্ধ তালিকার পরিবর্তে আপনার চাইলে দোভাষী দিয়ে স্ক্রিপ্টটি চালাবে ।


উপরেরগুলিকে প্রতিবার কল করার পরিবর্তে, আমি কীভাবে এটি ডিফল্ট হিসাবে সেট করব, যাতে প্রতিবার আমি ipythonআমার শেলটি টাইপ করি, এটি স্বয়ংক্রিয়ভাবে ডিফল্টের পরিবর্তে কাস্টম ইন্টারপ্রেটারটি পড়ে?
শ্রীবতসান

একটি স্ক্রিপ্ট যুক্ত করুন যা ডিফল্টর আগে পথে এটি করে। তবে এটি করতে আপনাকে পরিবেশের সাথে ঝামেলা করতে হবে।
ম্যাড পদার্থবিদ

0

আপনার সমস্যাটি মূলত আইপথনটিকে সঠিক অজগরটি ব্যবহার করছে।

সুতরাং সমস্যার সমাধান হ'ল আইপিথনকে ডান অজগরটি ব্যবহার করা (যা স্কাইপির মতো লাইব্রেরি রয়েছে)

আমি এখানে একটি সমাধান লিখেছি:

আইপিথন কীভাবে পাইথন 3 এর পরিবর্তে পাইথন 2 ব্যবহার করতে পারে


0

আমি একই ইস্যুটি জুড়ে এসেছি তবে ওএসএক্স 12, সিয়েরায় আমার জন্য কাজ করা নিম্নলিখিত একমাত্র সমাধান ছিল।

আইপথন সর্বদা পাইথন ৩.6 এর জন্য চালু ছিল তবে আমার এটি 2.7 এর জন্য প্রয়োজন। আমি ২.7-র জন্য আইপথন স্টার্টআপ স্ক্রিপ্টটি খুঁজে পেলাম না এবং আইপিথন মডিউলটি সম্পাদন করতে পেলাম না python -m। কোনটিই brew instally ipython pip install ipythonবা pip2 install ipythonআমাকে 2.7 সংস্করণ পেতে পারে। সুতরাং আমি নিজে হাতে পেয়েছি।

brew install ipython@5এখান থেকে ২.7 সংস্করণ ইনস্টল করে তবে এটি আপনার $PATHগায়ে লাগবে না কারণ এটি অন্য প্যাকেজের সাথে নামটির বিরোধিতা জানে। ln -s /usr/local/Cellar/ipython@5/5.5.0_1/bin/ipython /usr/local/bin/ipython2এটি ঠিক করে দেবে এবং আপনাকে কেবল ipython2শেল প্রম্পট থেকে চালাতে দেবে

আমার জন্য, যেহেতু আমি আইপিথনটি ২. using এর জন্য ব্যবহারে গুরুতর ছিলাম, আমি নিম্নলিখিত কমান্ডগুলিও চালিয়েছি।

ln -s /usr/local/Cellar/ipython/6.2.1/bin/ipython /usr/local/bin/ipython3
rm -f /usr/local/bin/ipython
ln -s /usr/local/bin/ipython2 /usr/local/bin/ipython

0

এখানে বর্ণিত সমস্ত উত্তর যদি আপনি অ্যানাকোন্ডা বা অন্য কোনও ভার্চুয়াল এনভায়রনমেন্ট রেপার ব্যবহার করে থাকেন তবে সমস্যাটি সমাধানে সহায়তা করবে না।

এই উত্তরটি আপনি যে অ্যানাকোন্ডা ব্যবহার করছেন তা অনুমানের ভিত্তিতে তৈরি।

বলুন আপনি অজগর 3 পরিবেশে রয়েছেন এবং জুপিটার নোটবুকে একটি নোটবুক তৈরি করার সময় এটি "পাইথন 3" এর পরিবর্তে "পাইথন 2" দেখায়।

এটি কারণ "আইপিথন" মূলত একটি স্ক্রিপ্ট যা চালিত হয় এবং এই স্ক্রিপ্টে এটি কমান্ডটি কার্যকর করতে কোন পাইথন সংস্করণ ব্যবহার করে তা উল্লেখ করে। আইপিথনের জন্য পাইথনের যে সংস্করণটি আপনি চান তার সংস্করণটি ব্যবহার করার জন্য আপনাকে কেবল এই লাইনটি পরিবর্তন করতে হবে।

প্রথমে আইপথন সার্ভারটি বন্ধ করুন এবং "যে পাইথন" কমান্ডটি ব্যবহার করে বর্তমান পরিবেশের অজগরটির এক্সিকিউটেবলের অবস্থান পাবেন

আমার ফলাফল:

/home/sourabh/anaconda2/envs/py3/bin/python

"আইপথন" কমান্ডটি ব্যবহার করে আইপথনের নির্বাহযোগ্য অবস্থানটি পান

আমার:

/home/sourabh/anaconda2/envs/py2/bin/python

লক্ষ্য করুন যে এটি অজগর অর্থাত্‍ একটি ভিন্ন সংস্করণ ব্যবহার করছে। পাইথন একটি নির্দিষ্ট পরিবেশ থেকে পাইথনের ভিন্ন সংস্করণ অর্থাত্ পৃথক পরিবেশ থেকে পাইথন চালাচ্ছে।

এখন ডিরেক্টরিতে অ্যানাকোন্ডা 2 / বিনে নেভিগেট করুন (অ্যানাকোন্ডা 3 ব্যবহারকারীদের জন্য এটি অ্যানাকোন্ডা 3 / বিন হওয়া উচিত) এবং "আইপিথন" ফাইলটি অনুসন্ধান করুন। এই সম্পাদনায় প্রথম লাইনটি এটি আপনি চাইলে বর্তমান অজগর সংস্করণে নির্দেশ করুন। অর্থাত্ "কোন পাইগন" এর আউটপুট অর্থাত:

#!/home/sourabh/anaconda2/envs/py3/bin/python

লক্ষ্য করুন যে আমি আমার পাইথনের পরিবেশকে পাই 2 (চলমান পাইথন ২.7) থেকে পিট ৩ (চলমান পাইথন ৩.৩) এ পরিবর্তন করেছি।

ফাইলটি সংরক্ষণ করুন। এবং জুপিটার নোটবুক চালান, এখন একটি নতুন নোটবুক তৈরি করার সময় "পাইথন 3" বিকল্পটি দৃশ্যমান হওয়া উচিত।

চিয়ার্স!

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