আমি কি পাইথন উইন্ডোজ প্যাকেজগুলিকে ভার্চুয়ালেনভসে ইনস্টল করতে পারি?


125

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

তবে আমি যদি উইন্ডোজে একটি .exe ইনস্টলার হিসাবে প্যাকেজযুক্ত একটি প্যাকেজ ইনস্টল করতে চাই, তবে আমি কীভাবে এটি ভার্চুয়ালেনভে ইনস্টল করার জন্য নির্দেশনা দিতে পারি? উদাহরণস্বরূপ, আমার কাছে পাইকুডা-0.94rc.win32-py2.6.exe রয়েছে। আমি যখন এটি চালনা করি, এটি রেজিস্ট্রি পরীক্ষা করে, এবং ইনস্টল করার জন্য কেবল একটি পাইথন 26 খুঁজে পায়, যেটি আমার ভার্চুয়ালেনভের ভিত্তিতে তৈরি।

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


1
আমার জন্য কাজ করে নিচের উত্তর stackoverflow.com/questions/6114115/...
user1960422

উত্তর:


201

হ্যা, তুমি পারো. তোমার যা দরকার তা হল

ইজি_ইনস্টল বাইনারি_ইনস্টলার_ বিল্ট_ইথ_ডিসিটুলিলস.এক্সই

অবাক? এটি দেখতে উইন্ডোজের জন্য বাইনারি ইনস্টলারের মতো যা ডিস্টুলেটস দিয়ে তৈরি .exe এক। এক্সে ফাইলের সাথে .zip এর সাথে সংযুক্ত করে। এটি বৈধ জিপ ফাইলের জন্য .zip এ সম্প্রসারণ পরিবর্তন করুন। আমি আমার প্রশ্নের উত্তর পড়ার পরে এটি আবিষ্কার করেছি আমি উইন্ডোজের জন্য সাইকোপজি 2 দিয়ে বাইনারি ডিমগুলি কোথায় ডাউনলোড করতে পারি?

হালনাগাদ

আজকাল তার উত্তরে ত্রিটিয়াম 21 দ্বারা উল্লিখিত হিসাবে আপনার সহজ_ইনস্টলগুলির পরিবর্তে পাইপ ব্যবহার করা উচিত। পাইপ ডিস্টুটিস দ্বারা তৈরি বাইনারি প্যাকেজ ইনস্টল করতে পারে না তবে এটি নতুন চাকা বিন্যাসে বাইনারি প্যাকেজ ইনস্টল করতে পারে । আপনি হুইল প্যাকেজ ব্যবহার করে পুরানো ফর্ম্যাট থেকে নতুনটিতে রূপান্তর করতে পারেন , যা আপনাকে প্রথমে ইনস্টল করতে হবে।


2
আমি সম্মত, এটা দুর্দান্ত। যাইহোক, যদি আপনার 7 জিপ থাকে তবে আপনি জিপ হিসাবে নাম পরিবর্তন না করেই .exe সরাসরি খুলতে পারেন।
সবুঙ্কু

5
একটি টিপ: বিকাশকারীরা উইন্ডোজের জন্য lfd.uci.edu/~gohlke/pythonlibs থেকে বিভিন্ন নির্মিত পাইথন প্যাকেজ ডাউনলোড করতে পারেন ।
ইয়াংঝি

@ কোডি হ্যাচ আপনি যেহেতু এটি করতে পারেন তবে এটি আমার পক্ষে একমাত্র উত্তর নয় এবং আমার অন্যান্য উত্তরগুলিরও কয়েকটি আপনার পক্ষে সহায়ক হতে পারে এমন একটি সুযোগ রয়েছে :)
পাইওটর ডব্রোগস্ট ২

1
আমি নিম্নলিখিতটি পেয়েছি: বাইনারি-ইনস্টলার-বিল্ট-বিল্ট-বিল্ট-ডিস্টুটিলস.এক্সপি রিডিং পাইপ.পিথথন.আর.সিম্পল/… পড়া হচ্ছে পাইপ.পিথন.অর্গ / সিম্পল/… 'বাইনারি_ইনস্টলার_বিল্ট_উইথ_ডিসিটিলস.এক্সই'র জন্য সূচক পৃষ্ঠাটি খুঁজে পেল না সমস্ত প্যাকেজগুলির সূচি স্ক্যান করা (এটি কিছুটা সময় নিতে পারে) পাইপি.পিথন.অর্গ / সিম্পল পড়ছে কোনও বাইনারি-ইনস্টলার-বিল্ট-বিল্ট-ডিস্টুয়েলস.এক্সির জন্য স্থানীয় প্যাকেজ বা ডাউনলোড লিঙ্ক পাওয়া যায়নি: প্রয়োজনীয়তা.পার্সের জন্য উপযুক্ত বিতরণ খুঁজে পাওয়া যায় নি ('বাইনারি-ইনস্টল-লেআর-বিল্ট-বিল্ট-ডি ...
পল

1
পল, তিনি যে ইফিকেটির কথা উল্লেখ করছেন তা নির্ভর করবে আপনি কোন ইনস্টলারটি ব্যবহার করছেন তার উপর নির্ভর করে ... আক্ষরিক অর্থে "বাইনারি-ইনস্টলার-বিল্ট-বিল্ট-ডিস্টুটিস.এক্সই" নয়
ত্রিস্তান রেড

70

আমি জানি এটি বেশ পুরানো প্রশ্ন, এবং আমি যে সরঞ্জামগুলির বিষয়ে কথা বলছি তার পূর্বাভাস দেয় তবে গুগলের পক্ষে আমি এটি উল্লেখ করা ভাল ধারণা বলে মনে করি। ইজি_ইনস্টল হল পাইথন প্যাকেজিংয়ের কালো ভেড়া। চারপাশের পিপের নতুন উত্তাপের সাথে কেউ এটি ব্যবহার করতে স্বীকার করতে চায় না। এছাড়াও, যখন রেজিস্ট্রি ট্রিকস খেলছেন তখন নন-স্ট্যান্ডার্ড EXE ইনস্টলারগুলির জন্য সবচেয়ে ভাল কাজ করবে (কেউ ডিস্টুলেটগুলি ব্যবহার না করে নিজেই ইনস্টলারটি তৈরি করেছিলেন এবং ইনস্টলেশন পাথের জন্য রেজিস্ট্রিটি পরীক্ষা করছেন), এখন স্ট্যান্ডার্ড এক্সইই ইনস্টলারগুলির জন্য আরও ভাল উপায় (সি) রয়েছে ।

pip install wheel
wheel convert INSTALLER.EXE
pip install NEW_FILE_CREATED_IN_LAST_STEP.whl

হুইল ফর্ম্যাট, সম্প্রতি প্রকাশিত এই পোস্ট হিসাবে, ডিম ফর্ম্যাট জন্য প্রতিস্থাপন, অনেক একই ভূমিকা পূরণ করে। এই ফর্ম্যাটটি পাইপ দ্বারা সমর্থিতও রয়েছে (একটি সরঞ্জাম ইতিমধ্যে আপনার ভার্চুয়ালনেভ ইনস্টলড)।

যদি কোনও কারণে pip install WHEELFILEকাজ না করে তবে চেষ্টা করুনwheel install WHEELFILE


এর জন্য ধন্যবাদ. আশা করি আরও লোক আপনার উত্তরটি লক্ষ্য করবে এবং উন্নতি করবে!
ব্রেট স্টটলমায়ার

স্পষ্ট করা. আপনি .xe থেকে একটি .Wl তৈরি করতে পারেন, উদাহরণস্বরূপ lfd.uci.edu/~gohlke/pythonlibs থেকে এটি দিয়ে। এটি মোতায়েনের শর্তাবলী!
জোনাস গ্রেগার 10

আমি এটি করার চেষ্টা করেছি, তবে একটি ত্রুটিযুক্ত চাকাটি নম্পি-এমকেএল-1.8.1 এ রূপান্তরিত করে পেয়েছি win উইন-এমডি 64-পাই 2.7.এক্সএইপ পাইপ ইনস্টল করুন নম্পি -1.8.1-সিপি 27-নন-উইন_এ্যামডি .৪.এইহেতু আমি নিম্নলিখিত ত্রুটিটি পেয়েছি নম্পি -১.৮.১-সিপি ২--না-উইন-এমডি .৪.এইচএল ডাউনলোড করা / আনপ্যাকিং করা এমন কোনও ডাউনলোড খুঁজে পাওয়া যায় নি যা নম্পি -১.৮.১-সিপি -27-নন-ই-উইন-এমডি 64৪.এইচএলএর জন্য কোনও বিতরণ পাওয়া যায় নি -1.8.1-cp27-no-win-amd64.whl
পল

চেষ্টা করুন wheel install WHEELFILE, এর অস্তিত্ব চিহ্নিত করতে সম্পাদিত উত্তর দিন। কারও জন্য একটি নির্দিষ্ট সমস্যা ডিবাগ করা এসও মন্তব্যে তুচ্ছভাবে করা কিছু নয়।
ট্রিটিয়াম 21

কেবলমাত্র এই উদ্দেশ্যটির জন্য এতবার ইজি_ ইনস্টল করার প্রয়োজন পরে, এটি দুর্দান্ত ছিল। * অশ্রুভরে
ইজিবল

40

আমি রেজিস্ট্রিতে পাইথন ইনস্টলেশন নিবন্ধনের জন্য একটি স্ক্রিপ্ট ( http://effbot.org/zone/python-register.htm ) মানিয়ে নিয়েছি । আমি পাইথন বাছাই হতে পারেন , রেজিস্ট্রি মধ্যে পাইথন উইন্ডোজ ইনস্টলার চালানো, তারপর রেজিস্ট্রি ফিরে সেট করুন:

# -*- encoding: utf-8 -*-
#
# script to register Python 2.0 or later for use with win32all
# and other extensions that require Python registry settings
#
# Adapted by Ned Batchelder from a script
# written by Joakim Löw for Secret Labs AB / PythonWare
#
# source:
# http://www.pythonware.com/products/works/articles/regpy20.htm

import sys

from _winreg import *

# tweak as necessary
version = sys.version[:3]
installpath = sys.prefix

regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)
installkey = "InstallPath"
pythonkey = "PythonPath"
pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (
    installpath, installpath, installpath
)

def RegisterPy():
    try:
        reg = OpenKey(HKEY_LOCAL_MACHINE, regpath)
    except EnvironmentError:
        try:
            reg = CreateKey(HKEY_LOCAL_MACHINE, regpath)
        except Exception, e:
            print "*** Unable to register: %s" % e
            return

    SetValue(reg, installkey, REG_SZ, installpath)
    SetValue(reg, pythonkey, REG_SZ, pythonpath)
    CloseKey(reg)
    print "--- Python %s at %s is now registered!" % (version, installpath)

if __name__ == "__main__":
    RegisterPy()

আপনি নিবন্ধিত হতে চান পাইথন দিয়ে এই স্ক্রিপ্টটি চালান, এবং এটি রেজিস্ট্রিতে প্রবেশ করা হবে। নোট করুন যে উইন্ডোজ 7 এবং ভিস্টায় আপনার প্রশাসকের সুযোগ সুবিধার দরকার আছে।


1
উইন্ডোজ 7, 64 বিট, 64 বিট সঙ্গে উপর পাইথন করার regpath সংশোধন করার ছিলregpath = "SOFTWARE\\Wow6432Node\\Python\\Pythoncore\\%s\\" % (version)
Oleksiy

আসলে আমার উইন্ডোজ 7, ​​64৪ বিটের জন্য, আমি রেজিপথটি যেমন রেখেছি এবং এটি কাজ করে। @ ওলেকসির প্রস্তাবিত মোডটি কার্যকর হয়নি। সম্ভবত আমাদের ওএস সংস্করণে কিছু সূক্ষ্ম আলাদা, বা কিছু সেটিং।
পল

@ নেড ব্যাচেল্ডারের সমাধানটি কেবল আমার পক্ষে কাজ করেছিল। চাকা ইনস্টলেশন কাজ করেনি। আমি এখনও প্যাকেজ ডাউনলোড ত্রুটি পেয়েছি (আরও তথ্যের জন্য উত্তরটিতে আমার মন্তব্য দেখুন)। Easy_install বাইনারি_ইনস্টলারের করার পরামর্শটি ... কাজ করতে পারে তবে বাইনারি_ইনস্টলার ... এক্স ফাইলটি সন্ধান করতে আমি ইজি_ইনস্টল পেতে সক্ষম হইনি।
পল

7

ইজি_ইনস্টল যতক্ষণ না তারা ডিস্টিলিটির বিডিস্ট_উইনস্ট স্ট্র্যাটেড ব্যবহার করে নির্মিত হয়েছিল ততক্ষণ .exe প্যাকেজ ইনস্টল করতে সক্ষম, যা অনেক জনপ্রিয় প্যাকেজগুলিকে আবৃত করে। তবে, আরও অনেকে আছেন যাঁরা নেই (ডাব্লুএক্সপিথন হ'ল আমি যার সাথে লড়াই করেছি)


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

1
@ নেড ব্যাচেল্ডার হ্যাঁ, এবং যতক্ষণ না আপনি সমস্ত নির্ভরতার যে কোনও বিকাশ প্যাকেজ ইনস্টল করেছেন। ঠিক আছে, বাইনারি ইনস্টলার সমস্ত নির্ভরতা ইনস্টল করে না, তাই না?
পাইওটর ডব্রোগোস্ট

0

আপনি পাইকুডিএ ইনস্টল করতে পরিবেশের ইজি_ ইনস্টল ব্যবহার করতে পারেন।

dev-env-path/bin/easy_install pycuda

এটি আপনাকে একই সংস্করণ 0.94rc দেবে।

উইন্ডোজে easy_install.exe স্ক্রিপ্ট ডিরেক্টরিতে থাকবে।


1
দুর্ভাগ্যক্রমে, এটি উত্স থেকে তৈরি করার চেষ্টা করবে। আমি প্রাক-নির্মিত বাইনারিগুলি ব্যবহার করার আশা করছিলাম।
নেড ব্যাচেল্ডার

0

যদি এটি হয় তবে .msiআপনি ব্যবহার করে কমান্ড লাইন বিকল্পগুলি নির্দিষ্ট করতে পারবেন msiexec। পাইথন ইনস্টলার নিজেই অনুমতি দেয়TARGETDIR তবে আমি নিশ্চিত নই যে ডিস্টিউটিসগুলি বিতরণ ইনস্টলারগুলিতে এটি বেক করে।

আপনি যদি একটি ব্যবহার করে থাকেন তবে .exeআমার মনে হয় না এটি পরিষ্কার উপায় আছে। একটি বিকল্প হ'ল ZZip (বা উইনজিপ, ইত্যাদি) এর মতো প্রোগ্রামটি সরাসরি এক্সের সামগ্রীগুলি বের করার জন্য ব্যবহার করুন, তারপরে আপনার ভার্চুয়াল সাইট-প্যাকেজ ফোল্ডারে রিলেভেন্ট ফোল্ডারগুলি অনুলিপি করুন। উদাহরণস্বরূপ, আমি যদি "প্রসেসিং -০.০.২.উইননো-পাই ২.৫.এক্সই" বের করি তবে আমি "প্ল্যাটলিব \ প্রসেসিং" ফোল্ডারটি খুঁজে পাই যা আমি একটি ভার্চুয়ালেনভ পাথটিতে অনুলিপি করেছিলাম এবং কোনও রানটাইম সমস্যা ছাড়াই ব্যবহার করি। (যদিও আমি নিশ্চিত নই যে এটি সর্বদা সহজ।

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