第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Python:如何在臨時(shí)目錄中創(chuàng)建虛擬環(huán)境并使用 pip 安裝模塊

Python:如何在臨時(shí)目錄中創(chuàng)建虛擬環(huán)境并使用 pip 安裝模塊

三國(guó)紛爭(zhēng) 2023-06-06 10:16:33
我想創(chuàng)建一個(gè)臨時(shí)文件并編寫一個(gè) python 腳本。我想在此臨時(shí)目錄中創(chuàng)建一個(gè)虛擬環(huán)境并使用 pip,然后在虛擬環(huán)境中運(yùn)行此腳本。import pathlibimport tempfile import venvtemp = tempfile.TemporaryDirectory()virtualenv = venv.EnvBuilder(system_site_packages=false)virtualenv.create(temp.name)# how could I activate the virtual environment and install the pip module?with open(pathlib.Path(temp.name)/"run.py", "w") as f:    f.write("#/usr/bin/env python\n\n")    f.write("import requests\n")p = subprocess.run(["python", temp.name", "run.py"])
查看完整描述

1 回答

?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊

我相信以下應(yīng)該達(dá)到您的期望:


#!/usr/bin/env python3


import pathlib

import string

import subprocess

import tempfile

import venv


SCRIPT_TEMPLATE = '''\

#!${venv_executable}


import requests

print(requests)

'''


class EnvBuilder(venv.EnvBuilder):


    def __init__(self, *args, **kwargs):

        super().__init__(*args, **kwargs)

        self.context = None


    def post_setup(self, context):

        self.context = context


def main():

    with tempfile.TemporaryDirectory() as target_dir_path:

        print(f" *** Created temporary directory '{target_dir_path}'.")

        #

        print(f" *** Creating virtual environment...")

        venv_builder = EnvBuilder(with_pip=True)

        venv_builder.create(str(target_dir_path))

        venv_context = venv_builder.context

        #

        requirements = [

            'requests',

        ]

        print(f" *** Installing {requirements}...")

        pip_install_command = [

            venv_context.env_exe,

            '-m',

            'pip',

            'install',

            *requirements,

        ]

        subprocess.check_call(pip_install_command)

        #

        print(" *** Generating script...")

        script_substitutions = {

            'venv_executable': venv_context.env_exe,

        }

        script = (

            string.Template(SCRIPT_TEMPLATE).substitute(script_substitutions)

        )

        print(" *** Generated script:")

        print("'''")

        print(script)

        print("'''")

        #

        script_path = pathlib.Path(target_dir_path).joinpath('run.py')

        print(f" *** Writing script '{script_path}'")

        script_path.write_text(script)

        #

        print(" *** Executing script...")

        script_command = [

            venv_context.env_exe,

            str(script_path),

        ]

        subprocess.check_call(script_command)


if __name__ == '__main__':

    main()


查看完整回答
反對(duì) 回復(fù) 2023-06-06
  • 1 回答
  • 0 關(guān)注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)