පයිප්ප සමඟ නිශ්චිත පැකේජ අනුවාද ස්ථාපනය කිරීම


1359

මම MySQL_python ඇඩැප්ටරයේ 1.2.2 අනුවාදය ස්ථාපනය කිරීමට උත්සාහ කරමි, --no-site-packagesවිකල්පය සමඟ නිර්මාණය කරන ලද නැවුම් virtualenv භාවිතා කරමින් . PyPi හි පෙන්වා ඇති වර්තමාන අනුවාදය 1.2.3 වේ. පැරණි අනුවාදය ස්ථාපනය කිරීමට ක්‍රමයක් තිබේද? මෙය කළ යුතු යැයි සඳහන් ලිපියක් මට හමු විය:

pip install MySQL_python==1.2.2

කෙසේ වෙතත්, ස්ථාපනය කළ විට, එය තවමත් MySQL_python-1.2.3-py2.6.egg-infoඅඩවි පැකේජවල පෙන්වයි . මෙය මෙම පැකේජයට විශේෂිත වූ ගැටලුවක්ද, නැතහොත් මම යම් වැරැද්දක් කරන්නේද?


19
ඉඟියට ස්තූතියි, මෙය මට විවෘතව තිබුනේ openpyxl හි පැරණි සංස්කරණයක් ස්ථාපනය කිරීමටයිpip install MySQL_python==1.8.9
tim

4
ඔව්, මෙය පැන්ඩා සඳහාද වැඩ කළේය, ස්තූතියි:pip install -Iv pandas==0.12.0
ටැන්ඩි

1
මා වෙනුවෙන්ද වැඩ කර ඇත: නල ස්ථාපනය xvfbwrapper == 0.2.4
amitdatta

Answers:


930

ටීඑල්; ඩීආර්:

  • pip install -Iv(එනම් pip install -Iv MySQL_python==1.2.2)

පළමුව, ඔබ කිරීමට උත්සාහ කරන දේ සමඟ ගැටළු දෙකක් මම දකිමි. ඔබ සතුව දැනටමත් ස්ථාපනය කර ඇති අනුවාදයක් ඇති බැවින්, ඔබ දැනට පවතින ධාවක අස්ථාපනය කළ යුතුයpip install -I MySQL_python==1.2.2

කෙසේ වෙතත්, මෙය ක්‍රියාත්මක නොවන බව ඔබ ඉක්මනින් සොයා ගනීවි. ඔබ පයිප්පයේ ස්ථාපන ලොගය දෙස බැලුවහොත් හෝ ඔබ එසේ කළහොත් pip install -Iv MySQL_python==1.2.2MySQL_python v1.2.2 සඳහා PyPI URL සබැඳිය ක්‍රියා නොකරන බව ඔබට පෙනී යනු ඇත. ඔබට මෙය සත්‍යාපනය කළ හැකිය: http://pypi.python.org/pypi/MySQL-python/1.2.2

Sourceforge.net හි මෑතදී උත්ශ්‍රේණිගත කිරීම සහ PyPI හි යල් පැන ගිය URL නිසා බාගත කිරීමේ සබැඳිය 404s සහ ආපසු හැරවීමේ URL සබැඳි අසීමිත ලෙස නැවත යොමු වේ.

එබැවින් ධාවක නිසි ලෙස ස්ථාපනය කිරීම සඳහා, ඔබට මෙම පියවර අනුගමනය කළ හැකිය:

pip uninstall MySQL_python
pip install -Iv http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.2/MySQL-python-1.2.2.tar.gz/download

1
බහු සංස්කරණ තිබීම පිළිබඳ ගැටළුවක් නොතිබිය යුතුය, එය සෑම අනුවාදයක් සඳහාම නව ෆෝල්ඩර සෑදීම සහ .pth ගොනු භාවිතා කිරීම ය.
ජොචෙන් රිට්සෙල්

3
මෙය නිවැරදි අනුවාදය ස්ථාපනය කරන බැවින් මෙම ප්‍රශ්නයට පිළිතුරද - ඔබගේ උදව්වට ස්තූතියි. දැන් වෙනත් ගැටලුවකට පහර දීම: '_mysql' දිගුව ගොඩනඟන අතරතුර "දෝෂය: විධානය '/usr/bin/gcc-4.2' පිටවීමේ තත්වය 1 සමඟ අසමත් විය". මා සතුව GCC ඇති බව මම දනිමි, MySQL_python 1.2.3 සඳහා ස්ථාපනය සුමටව සිදු වේ. 1.2.2 සමඟ විශේෂයෙන් මෙම ගැටළුව අනෙක් අය දැක තිබේද?
ජෝ

කරුණාකර තවත් ප්‍රශ්නයක් කර ඔබට නල මාර්ගයෙන් ලැබෙන දෝෂ පණිවිඩය පළ කරන්න.
මහමුද් අබ්දෙල්කදර්

2
ෂුවර් - මෙන්න සබැඳිය: stackoverflow.com/questions/5226945/…
ජෝ

4
කුතුහලය දනවන කරුණක් නම්, අපි දැනටමත් පවතින ස්ථාපනය ඉවත් කර ඇත්නම් -I විකල්පය භාවිතා කරන්නේ ඇයි - ඔබට ඒ පිළිබඳ විස්තරයක් දිය හැකිද?
ජෝ

520

ඔබට pip installවිධානය සමඟ අනුවාද පරාසයක් භාවිතා කළ හැකිය . මේ වගේ දෙයක්:

pip install 'stevedore>=1.3.0,<1.4.0'

පැකේජය දැනටමත් ස්ථාපනය කර ඇති අතර ඔබට එය පහත හෙලීමට අවශ්‍ය නම් මේ ආකාරයට එකතු කරන්න --force-reinstall:

pip install 'stevedore>=1.3.0,<1.4.0' --force-reinstall

134
උදාහරණයක් ලෙස: $ pip install 'xkcdpass==1.2.5' --force-reinstall
jschank

1
පරිපූර්ණ! උබුන්ටෝ 15.04 මත ධාවනය වූ අතර එය (ස්වයංක්‍රීයව) පවතින පුස්තකාලයක් නිශ්චිත අනුවාදය සමඟ ප්‍රතිස්ථාපනය කළේය. මගේ සියලු ගැටලු විසඳා ඇත!
zevij

2
පයිතන් 2 සඳහා මට "වෙනුවට" වෙනුවට ද්විත්ව උපුටා දැක්වීම් කිරීමට සිදු වූ බව සඳහන් කිරීමට ය
Prime_Aqasix

6
@ HandofC'thuhlu මම හිතන්නේ අපි කවුළු සඳහා ද්විත්ව උපුටා දැක්වීම් කළ යුතු අතර පයිතන් 2 නොවේ
SmartManoj

4
වින්ඩෝස් හි ද්විත්ව උපුටා දැක්වීම් භාවිතා කරන්න: නල ස්ථාපනය "stevedore> = 1.3.0, <1.4.0"
jmng

145

මෙම ලිපියේ යෝජනා කර ඇති පරිදි එක් ක්‍රමයක් නම් අනුවාදය පහත pipපරිදි සඳහන් කිරීමයි.

pip install -Iv MySQL_python==1.2.2

එනම් ==එම අනුවාදය පමණක් ස්ථාපනය කිරීමට අනුවාද අංකය භාවිතා කර සඳහන් කරන්න . -I, --ignore-installedදැනටමත් ස්ථාපනය කර ඇති පැකේජ නොසලකා හරියි.


1
පරෙස්සම් වන්න! මෙය එකිනෙකට යාබදව විවිධ අනුවාදයන් ස්ථාපනය කළ බව මට අත්දැකීමක් තිබුණි ! සිත්ගන්නා pip listකරුණ නම් , ඒ පිළිබඳව නොදැන සිටීම, නමුත් conda list(සහ විවිධ පැකේජ සංස්කරණ පෙන්වනු ඇත). එය පයිචාර්ම් ද සම්පූර්ණයෙන්ම ව්‍යාකූල කළේය .
ලයනල් ට්‍රෙබුචොන්

71

නිශ්චිත පයිතන් පැකේජ අනුවාදයක් ස්ථාපනය කිරීම පළමු වරට වේවා, උත්ශ්‍රේණිගත කිරීම හෝ පහත හෙලීමේ භාවිතය:

pip install --force-reinstall MySQL_python==1.2.4

MySQL_python අනුවාදය 1.2.2 ලබා ගත නොහැකි බැවින් මම වෙනත් අනුවාදයක් භාවිතා කළෙමි. දර්ශකයකින් ලබා ගත හැකි සියලුම පැකේජ අනුවාදයන් බැලීමට අනුවාදය බැහැර කරන්න:

pip install MySQL_python==

4
නල 10.0.1 සමඟ ඇති එකම ක්‍රියාකාරී විසඳුම මෙයයි. "-I" විකල්පය ඇත්ත වශයෙන්ම පෙර අනුවාදය නැවත ස්ථාපනය කරන්න.
FedFranzoni

39

මම විශ්වාස කරන්නේ ඔබ සතුව දැනටමත් පැකේජයක් ස්ථාපනය කර ඇත්නම්, පයිප් වෙනත් අනුවාදයකින් එය නැවත ලියන්නේ නැත. -Iපෙර සංස්කරණ නොසලකා හැරීමට භාවිතා කරන්න .


1
මා එය ස්ථාපනය කර නැත - --no-site-packages විකල්පය සමඟ නිර්මාණය කරන ලද නැවුම් virtualenv භාවිතා කරමින්
Joe

2
හරි, එබැවින් ඔබ 1.2.2 අනුවාදය ඉල්ලන අතර එය තවමත් 1.2.3 ස්ථාපනය කරයි, වෙන කිසිවක් ස්ථාපනය කර නොමැතිද? විශේෂිත අනුවාදයන් ලබා ගැනීම සඳහා ඔබ භාවිතා කළ වාක්‍ය ඛණ්ඩය නිවැරදි ය.
dappawit

"--no-site-packages විකල්පය සමඟ නිර්මාණය කරන ලද නැවුම් virtualenv භාවිතා කිරීම"; ඔබ විධානය සමඟ මෙම preceed කිරීමට අවශ්ය විය හැකි unset PYTHONPATHතබා ගැනීමට එසේ pipඔබගේ පෙර-ස්ථාපනය පුස්තකාල දුටු සිට
user5359531

20

සමහර විට, කලින් ස්ථාපනය කරන ලද අනුවාදය හැඹිලිගත කර ඇත.

~$ pip install pillow==5.2.0

එය පහත සඳහන් දෑ ලබා දෙයි:
අවශ්‍යතාවය දැනටමත් සෑහීමකට පත්ව ඇත: කොට්ටය == 5.2.0 /home/ubuntu/anaconda3/lib/python3.6/site-packages (5.2.0)

මෙය නැවත ලිවීමට අපට -I සමඟ --no-cache-dir භාවිතා කළ හැකිය

~$ pip install --no-cache-dir -I pillow==5.2.0

7

මෙය පයිප්පයේ 10 වන සංස්කරණයේ හඳුන්වා දුන් කඩිනම් වෙනසක් ලෙස පෙනෙන බැවින්, මම අනුකූල අනුවාදයකට පහත හෙලුවෙමි:

pip install 'pip<10' 

මෙම විධානය මඟින් 10 වන අනුවාදයට වඩා අඩු මොඩියුලයක අනුවාදයක් ස්ථාපනය කරන ලෙස පයිප්පයට පවසයි.


6

භාවිතා කරන විට මට මෑත දී නිකුත් තුළට දිව ගියා pipගේ-I මම ලියවිල්ල කොහේ හරි කිරීමට අවශ්ය බව ධජය:

-Iඇත නැත ඉදිරියට යාමට පෙර පවතින පැකේජය අස්ථාපනය; එය පැරණි එක මත එය ස්ථාපනය කරනු ඇත. මෙයින් අදහස් කරන්නේ අනුවාද අතර මකා දැමිය යුතු ඕනෑම ලිපිගොනු ඒ වෙනුවට ඉතිරි වනු ඇති බවයි. මෙම ලිපිගොනු වෙනත් ස්ථාපිත මොඩියුල සමඟ නම් බෙදා ගන්නේ නම් මෙය අමුතු හැසිරීමක් ඇති කරයි.

උදාහරණයක් ලෙස, නම් කර ඇති පැකේජයක් ඇතැයි කියමු package. එක් packageලිපිගොනුවක, ඔවුන් භාවිතා කරයි import datetime. දැන්, දී package@2.0.0, මෙය සම්මත පුස්තකාල datetimeමොඩියුලයට යොමු කරයි, නමුත් දී package@3.0.0, ඔවුන් datetime.pyසම්මත පුස්තකාල අනුවාදය වෙනුවට ආදේශකයක් ලෙස දේශීයයක් එක් කළහ (කුමන හේතුවක් නිසා හෝ).

දැන් මම දුවනවා යැයි කියමු pip install package==3.0.0, නමුත් පසුව මට සැබවින්ම අනුවාදය අවශ්‍ය බව වැටහේ 2.0.0. මම දැන් ධාවනය කරන්නේ නම් pip install -I package==2.0.0, පැරණි datetime.pyගොනුව ඉවත් නොකෙරේ, එබැවින් ඕනෑම ඇමතුමක්import datetime වැරදි මොඩියුලය ආනයනය කරනු ඇත.

මගේ නඩුවේදී, මෙය අමුතු සින්ටැක්ස් දෝෂ වලින් පෙනෙන්නට තිබුනේ පැකේජයේ නවතම අනුවාදය පයිතන් 3 සමඟ පමණක් අනුකූල වන ගොනුවක් එක් කළ නිසා සහ මම පයිතන් 2 සඳහා සහය දැක්වීම සඳහා පැකේජ අනුවාදයන් පහත හෙලූ විට, මම දිගටම පයිතන් -3 පමණක් මොඩියුලය ආනයනය කළෙමි.

මේ මත පදනම්ව, පැරණි පැකේජය අස්ථාපනය කිරීම සැමවිටම -Iස්ථාපිත පැකේජ අනුවාදයන් යාවත්කාලීන කිරීමේදී භාවිතා කිරීමට වඩා සුදුසු යැයි මම තර්ක කරමි .


5

මෙම පහත විධානය මට වැඩ කළේය

පයිතන් අනුවාදය - 2.7

පැකේජය - පයිතන්-ජෙන්කින්ස්

විධානය - $ pip install 'python-jenkins>=1.1.1'


හිතවත් ඩවුන්වෝටර්, කරුණාකර මෙම පිළිතුර පහත් කොට සැලකීමට හේතුව සාධාරණීකරණය කරන්න?
ටපන් හෙග්ඩේ

මම අවතක්සේරු නොකළ නමුත් මෙය ප්‍රශ්නයට පිළිතුරු නොදෙන බවත් ගැටළුව විසඳීම සඳහා OP හට භාවිතා කළ හැකි ප්‍රයෝජනවත් තොරතුරු සපයන්නේ නැති බවත් පෙනේ.
TheAmigo

1

අනුවාදය සමඟ ඔබට ඕනෑම පැකේජයක් ස්ථාපනය කළ හැකි ආකාර 2 ක් ඇත: - අ). pip install -Iv package-name == B අනුවාදය ). pip install -v package-name == version

සඳහා

මෙන්න, ඔබ ස්ථාපනය කරන විට -I විකල්පය භාවිතා කරන්නේ නම් (පැකේජය දැනටමත් ස්ථාපනය කර ඇත්දැයි ඔබ නොදන්නා විට) ('pip install -Iv pyreadline == 2. *' හෝ වෙනත් දෙයක් වැනි), ඔබ නව එකක් ස්ථාපනය කරනු ඇත වෙනස් අනුවාදයක් ඇති එකම පැකේජයක් සහිත වෙනම පැකේජයක්.

බී සඳහා

  1. මුලදී, ඔබට බිඳුණු අවශ්‍යතා නොමැතිදැයි පරීක්ෂා කිරීමට අවශ්‍ය විය හැකිය. නල පරීක්ෂාව

2. ඉන්පසු නල ලැයිස්තුවෙන් දැනටමත් ස්ථාපනය කර ඇති දේ බලන්න

3.if පැකේජ ලැයිස්තුවේ ඔබ විශේෂිත අනුවාදයක් සමඟ ස්ථාපනය කිරීමට කැමති ඕනෑම පැකේජයක් අඩංගු වේ නම් වඩා හොඳ විකල්පය නම් මෙම අනුවාදයේ පැකේජය පළමුවෙන් අස්ථාපනය කිරීමයි.

4. දැන් ඔබට එකම පැකේජය නිශ්චිත අනුවාදයක් සමඟ නැවත ස්ථාපනය කිරීමට ඉදිරියට යා හැකිය, පයිප්ප ස්ථාපනය මඟින් -v ඇසුරුම-නම == අනුවාදය උදා: නල ස්ථාපනය -v පයිරෙඩ්ලයින් == 2. *


1

ඔබට නවතම අනුවාදයට යාවත්කාලීන කිරීමට අවශ්‍ය නම් සහ ඔබට ටයිප් කළ හැකි නවතම අනුවාදය කුමක්දැයි ඔබ නොදන්නේ නම්.

පයිප්ප ස්ථාපනය MySQL_python --upgrade

මෙය නවතම අනුවාදය සඳහා MySQL_python යාවත්කාලීන කරනු ඇත, ඔබට වෙනත් ඕනෑම පැකේජ අනුවාදයක් සඳහා භාවිතා කළ හැකිය.

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.