আমদানি ত্রুটি: উইন্ডোজ 32 32 বিটে পিপ - রূপান্তর কমান্ড চলাকালীন নাম প্রধান আমদানি করতে পারে না


145

আমি উইন্ডোজ 32-বিটের জন্য পাইপ এবং সেটআপলগুলির সাথে বান্ডিল করা সর্বশেষ পাইথন (২.7.৯) ইনস্টল করেছি। আমি পাইপ পুনরায় ইনস্টল করার চেষ্টা করেছি কিন্তু সমস্যাটি এখনও থেকেই যায়।

pip --versionপ্রশাসক সিএমডি চালানোর পরে এখানে ত্রুটি রয়েছে :

Traceback (most recent call last):
 File "D:\Python\lib\runpy.py", line 162, in _run_module_as_main
  "__main__", fname, loader, pkg_name)
 File "D:\Python\lib\runpy.py", line 72, in _run_code 
  exec code in run_globals
 File "D:\Python\Scripts\pip.exe\__main__.py", line 5, in <module>
ImportError: cannot import name main

1
এটি ফাইল অনুমতির সাথে সম্পর্কিত হতে পারে এখানে অজগর 3.4 নিয়ে একটি সমস্যা ছিল যা এখানে সমাধান করা হয়েছিল, এটি একটি পরীক্ষার মূল্য।
কোবি কে

আমি আইক্যাকলস কমান্ডটি ব্যবহার করে কাজটি করেছি তবে ত্রুটিটি স্থির থাকে।
Woootiness

2
"easy_install -U পিপ" উত্তর এ প্রদান stackoverflow.com/questions/28031277/... আনপ্যাক-URL
J1MF0X

উত্তর:


172

যদিও আসল প্রশ্নটি 2015 থেকে মনে হচ্ছে, এই 'বাগ' ব্যবহারকারীরা ইনস্টল করার ক্ষেত্রেও প্রভাব ফেলবে বলে মনে হয় pip-10.0.0

কর্মক্ষেত্রটি পরিবর্তনের জন্য নয় pip, তবে পিপকে যেভাবে ডাকা হয় তার পরিবর্তনের জন্য। পাইথনের মাধ্যমে কল /usr/bin/pipকল করার পরিবর্তে pip। উদাহরণস্বরূপ, নীচের পরিবর্তে:

pip install <package>

পাইথন সংস্করণ 2 থেকে যদি (বা ডিফল্ট পাইথন বাইনারি বলা হয় python) করুন:

python -m pip install <package>

বা পাইথন সংস্করণ 3 থেকে যদি:

python3 -m pip install <package> 

হ্যাঁ, আমি এটিকে ঠিক করার জন্য কী করেছি তা আমার মনে নেই তবে আমি এটি অন্যদের জন্য উন্মুক্ত রাখছি।
Woootiness

আমি প্রদত্ত কমান্ডটি ব্যবহার করার সময়, আমি একটি অনুমতি ত্রুটি পেয়েছি (যা আমি ক্যাটালিনপোপেস্কুর উত্তর অনুযায়ী পাইপ পরিবর্তন করার পরেও পেয়েছি)। তবে, ব্যবহারকারীর সুযোগের জন্য প্যাকেজগুলি ডাউনলোড করতে (যাতে আপনার প্রশাসনের অধিকারের প্রয়োজন না হয়) ব্যবহার করুন: পাইথন 3-মি পিপ ইনস্টল <প্যাকেজ> - ব্যবহারকারীর (পাইথন 3 এর জন্য কাজ করাও পরীক্ষা করা না হলেও পাইথন 2 এর জন্য কাজ করা উচিত)
র্যান্ডমিন

একটি ম্যাক সাহায্য করে।
চার্লস রস

ভাল উত্তর। উত্স কোড পরিবর্তন করা একটি জলাবদ্ধ is
ওজগুর

এটি যাওয়ার সত্যিই ভাল উপায়। আপনি সঠিক সংস্করণটি ব্যবহার করছেন এমন আশ্বাস পাওয়া সত্যিই সহজ করে তোলে:python2 -m pip install $package
জেমস

257

বাগটি পাইপ 10.0.0 এ পাওয়া যায়।

লিনাক্সে আপনাকে ফাইল: / usr / বিন / পিপ থেকে পরিবর্তন করতে হবে:

from pip import main
if __name__ == '__main__':
    sys.exit(main())

এটি:

from pip import __main__
if __name__ == '__main__':
    sys.exit(__main__._main())

1
মনে হয় এটিই সমাধান। আমি এটি চেষ্টা করেছি এবং এখন পর্যন্ত কোনও সমস্যা নেই।
খুই

2
আমি পিপ 10.0.1 ব্যবহার করছি এবং বাগটি এখনও আছে। আপনি সমাধান সাহায্য করেছেন। ধন্যবাদ! আপনি কি এই বাগ এবং সমাধানটি বিকাশকারীদের কাছে ফিরে রিপোর্ট করেছেন?
আলেক্সি সুবাচ

7
যদিও এই সমাধানটি কাজ করে তবে দয়া করে pipনিজেকে পরিবর্তন করা থেকে বিরত থাকুন । pipপরিবর্তে পাইথন থেকে কল করার জন্য নীচের একটি ক্লিনার সমাধান দেখুন ।
ওয়ান বাচ্চিয়ার

1
"পিপ 10.0.1" তে সহায়তা করে না। pip --version pip 10.0.1 from /home/x/.local/lib/python2.7/site-packages/pip (python 2.7) ব্যবহার: sudo pip install tensorflow আউটপুট:Traceback (most recent call last): File "/usr/bin/pip", line 9, in <module> from pip import main ImportError: cannot import name main
user_x

3
@ ক্রিপি_ড্রাইভার, পরিবেশ অনুসারে ইনস্টল করা প্যাকেজটি ম্যানুয়ালি সংশোধন করার প্রস্তাব দেওয়া হয় না কারণ পরের বার আপনি অন্য সংস্করণে আপডেট করেছেন, অর্থাৎ 10.0.3 আপনি একই সমস্যার মুখোমুখি হতে পারেন। pipইনস্টলড পাইথনের মাধ্যমে চলমান কাজটি উপযুক্ত পরিবেশটি সঠিকভাবে ব্যবহার করতে পাইপকে নির্দেশ করবে।
ওয়ান বখতিয়ার

60

উবুন্টু সার্ভার 16 এ, পাইথন 27 নিয়ে আমার একই সমস্যা রয়েছে। এটা চেষ্টা কর:

পরিবর্তন

from pip import main
if __name__ == '__main__':
    sys.exit(main())

প্রতি

from pip._internal import main
if __name__ == '__main__':
    sys.exit(main())

1
উবুন্টু 16.04 এ কাজ করেছেন
সমিরা কুমারসিংহ

এটি একটি ভাল ধারণা নয়। @ রিচার্ড এলকিন্সের অন্য উত্তরে যেমন উল্লেখ করা হয়েছে: "লোকেরা তাদের ইনস্টল করা ফাইলগুলি ইনস্টলেশন করার পরে সংশোধন করার উদ্দেশ্যে নয় এমন সময় সম্পাদনা করা উচিত নয়"
জুয়েরগি

20

উইন্ডোজ 10 এ, আমি পিপ ডাউনগ্রেড করতে নিম্নলিখিত কমান্ডগুলি ব্যবহার করেছি:

python -m pip uninstall pip
python -m pip install pip==9.0.3

এটি লিনাক্স এবং ম্যাকের ক্ষেত্রেও কাজ করা উচিত।


1
এটি পাইথন-এম পাইপ ইনস্টল পাইপ হওয়া উচিত == 9.0.3
এলেলিয়াস

ওহ, আমি তা বুঝতে পারি নি আমাকে বলার জন্য ধন্যবাদ!
কিয়াহ

1
আমার ছিল python easy_install.py pip==9.0.3কারণ প্রথম লাইনের পরে পাইপ পাওয়া গেল না।
সুজান

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

আপগ্রেড করার পরে আমার কাছে পথের সমস্যা ছিল, এটি কার্যকর করার জন্য আমি নিম্নলিখিতগুলি করেছি। সুডো পাইথন-মি পাইপ আনইনস্টল পাইপ && sudo অ্যাপ্লিকেশন পাইথন-পাইপ ইনস্টল করুন
পুনরায়

10

আমার একই সমস্যা ছিল, তবে অ্যাপটি এবং পাইপটি আনইনস্টল করে পুনরায় ইনস্টল করা আমার পক্ষে কার্যকর হয়নি।

আমি আরও একটি সমাধান দেখেছি যা পাইপ 3 পথ পুনরুদ্ধার করার একটি সহজ উপায় উপস্থাপন করে:

sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall

1
আমার অজগরটি ২.7 ছিল, সুতরাং পাইথনটি ম্যাচ করার জন্য আমাকে কমান্ডটি পরিবর্তন করতে হয়েছিল 7.7 সুডো পাইথন-এম পিপ আনইনস্টল পাইপ && সুডো পাইথন-পাইপ ইনস্টল করুন
ওয়েবজকি

উবুন্টুতে পুরোপুরি কাজ করে তবে আমি মনে করি এটি উইন্ডোতে কাজ করবে না
zaki benz

8

আমি পিপ ব্যবহার করে পুনরায় ইনস্টল করে সমস্যার সমাধান করেছি get-pip.py

  1. অফিসিয়াল লিঙ্ক থেকে গেট-পিপ ডাউনলোড করুন: https://pip.pypa.io/en/stable/installing/#upgrading-pip
  2. commande ব্যবহার করে এটি সঞ্চালন করুন: python get-pip.py

এবং পাইপ স্থির এবং পুরোপুরি কাজ করে।


1
পাইথন পরিবর্তন get-pip-pyপাইথন করতেget-pip.py
YourFriend

1
নিখুঁতভাবে কাজ করেছেন! ধন্যবাদ.
শাম্বো

আমার জন্যও কাজ করেছেন। ধন্যবাদ
অভিষেক কিশোর

2

ম্যাকওএসে যদি আপনি হোমব্রিউয়ের মাধ্যমে অজগরটি ইনস্টল করেন তবে লাইনটি এতে পরিবর্তন করুন /usr/local/opt/python/libexec/bin/pip

থেকে

from pip.internal import main

প্রতি

from pip._internal import main

অথবা এই একটি লাইনার ব্যবহার করুন: sed -i '' "s/from pip import main/from pip._internal import main/" /usr/local/opt/python/libexec/bin/pip

ব্যাখ্যা:

সমস্যাটি হ'ল পিপ সংস্করণ 10 এর অভ্যন্তরীণ নেমস্পেসের অধীনে পরিবর্তনের কারণে main._internalএবং হোমব্রব দ্বারা এখনও স্থিত বিন স্ক্রিপ্টটি পুরানো জায়গা (যেখানে এটি 9 সংস্করণে ব্যবহৃত হত) থেকে সন্ধান করে রাখা হয়েছে। ইস্যু এবং কিছু আলোচনা https://github.com/pypa/pip/issues/5240


1

আপনার যদি পাইপ করার জন্য হার্ডলিঙ্ক PATHথাকে (যেমন আপনার একাধিক পাইথন সংস্করণ ইনস্টল থাকে) এবং তারপরে আপনি পাইপ আপগ্রেড করেন তবে আপনারও এই ত্রুটি দেখা দিতে পারে।

সমাধানটি আবার হার্ডলিঙ্ক তৈরিতে জড়িত। বা আরও ভাল, হার্ডলিঙ্কগুলি ব্যবহার বন্ধ করুন এবং সফটলিঙ্কগুলি ব্যবহার করুন।


1
কিভাবে এটি ঠিক করবেন?
user_x

1

উইন্ডোজ 10 এ, আমারও একই সমস্যা ছিল। PIP 19আমার সিস্টেমে ইতিমধ্যে ইনস্টল করা ছিল কিন্তু প্রদর্শিত হচ্ছে না। ত্রুটি ছিল No Module Found

python -m pip uninstall pip
python -m pip install pip==9.0.3

Downgrading pip9.0.3 আমার জন্য জরিমানা করেন।



0

এটি উবুন্টু 16.04 এ কাজ করে। ধাপ 1:

 sudo gedit /home/user_name/.local/bin/pip

একটি ফাইল সামগ্রী সহ খোলে:

#!/usr/bin/python

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

from pip import main

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

পরিবর্তন mainকরার জন্য __main__নিচের উপস্থিত হয়:

#!/usr/bin/python

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

from pip import __main__

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

ফাইলটি সংরক্ষণ করুন এবং এটি বন্ধ করুন। এবং আপনি শেষ!


0

এটা চেষ্টা কর

#!/usr/bin/python
# GENERATED BY DEBIAN

import sys

# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.i
try:
    from pip import main
except ImportError:
    from pip._internal import main
if __name__ == '__main__':
    sys.exit(main())

0

একটি সহজ সমাধান যা উবুন্টুর সাথে কাজ করে তবে উইন্ডোতেও সমস্যাটি সমাধান করতে পারে:

শুধু কল

pip install --upgrade pip

0

পাইথন ৩. use ব্যবহার করার চেষ্টা করার সময় এটি আমার সমস্যাটি উবুন্টু ১৮.০৪-এ সমাধান করেছে:

rm -rf ~/.local/lib/python3.6

আপনি mv ব্যবহার করে ফোল্ডারটি মুছে ফেলার পরিবর্তে অন্য জায়গায় সরিয়ে নিতে পারেন, পরীক্ষার জন্য:

mv ~/.local/lib/python3.6 ./python3.6_old

0

আপনার টার্মিনাল লিনাক্স খুলুন।

hash -d pip

হাই কার্লোস, স্ট্যাক ওভারফ্লোতে আপনাকে স্বাগতম। এই সমস্যার মুখোমুখি হওয়া অন্যান্য ব্যবহারকারীদের সহায়তা করার জন্য, দয়া করে এই আদেশটি কী করবে এবং কীভাবে এটি সমস্যার সমাধান করে তা সুনির্দিষ্ট করতে আপনি উত্তর যুক্ত করতে পারেন।
সাইবার জ্যাকব

0

আমাদের ক্ষেত্রে, পাইথন 3 ব্যবহার করে 2020 সালে, এই সমস্যার সমাধানটি পাইথন ইনস্টলেশনটি cloud-initস্টার্টআপ স্ক্রিপ্টে স্থানান্তরিত করে যা ভিএমকে তাত্ক্ষণিক করে তোলে ।

আমরা যখন ভিএম এর জীবনচক্রের পরে ব্যবহারকারীরা ডেকে স্ক্রিপ্টগুলি ব্যবহার করে পাইথন ইনস্টল করার চেষ্টা করছিলাম তখন আমরা এই একই ত্রুটির মুখোমুখি হয়েছি কিন্তু একই পাইথন ইনস্টলেশন কোডটিকে cloud-initস্ক্রিপ্টে স্থানান্তর করা এই সমস্যাটি দূর করেছে।

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