pythonmain方法_Python pip.main方法代码示例

本文详细介绍了Python中pip库的main方法,包括如何使用它来安装依赖和管理包。提供了多个示例代码,展示了在不同场景下如何调用pip.main方法进行包的安装和管理。例如,安装需求文件中的依赖、在虚拟环境中激活和安装包、处理插件依赖等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文整理汇总了Python中pip.main方法的典型用法代码示例。如果您正苦于以下问题:Python pip.main方法的具体用法?Python pip.main怎么用?Python pip.main使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在模块pip的用法示例。

在下文中一共展示了pip.main方法的24个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: execute_target

​点赞 7

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def execute_target(cls, *unused):

# check which requirements should be installed

requirements_file = _CommonTargets.get_requirements_file()

# install the requirements

_CommonTargets.activate_virtual_environment()

# fix for pip versions below 10.0

try:

from pip._internal import main as pipmain

except ImportError:

from pip import main as pipmain

code = pipmain(["install", "-r", requirements_file])

# check for possible errors

if code != 0:

_CommonTargets.exit("Failed while installing the requirements! Please check the errors above.", code)

# reload the installed packages

importlib.reload(site)

开发者ID:iguana-project,项目名称:iguana,代码行数:21,

示例2: main

​点赞 6

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def main():

"""

Main function exposed as script command.

"""

DATA_PATH = pkg_resources.resource_filename('marcotti', 'data/')

setup_dict = setup_user_input()

print("#### Installing database driver ####")

if setup_dict['dialect'] == 'sqlite':

print('SQLite database is used -- no external driver needed')

else:

pip.main(['install', db_modules.get(setup_dict['dialect'])])

print("#### Creating settings and data loader modules ####")

env = jinja2.Environment(loader=jinja2.FileSystemLoader(searchpath=DATA_PATH),

trim_blocks=True, lstrip_blocks=True)

template_files = ['local.skel', 'logging.skel', 'loader.skel']

output_files = ['{config_file}.py'.format(**setup_dict),

'logging.json',

'{loader_file}.py'.format(**setup_dict)]

for template_file, output_file in zip(template_files, output_files):

template = env.get_template(os.path.join('templates', template_file))

with open(output_file, 'w') as g:

result = template.render(setup_dict)

g.write(result)

print("Configured {}".format(output_file))

print("#### Setup complete ####")

开发者ID:soccermetrics,项目名称:marcotti,代码行数:27,

示例3: _handle_install

​点赞 6

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def _handle_install(args, dependencies):

if args.install and dependencies:

if pip is None:

raise ImportError("Bootstrapping Pulsar dependencies requires pip library.")

pip.main(["install"] + dependencies)

# def _install_pulsar_in_virtualenv(venv):

# if virtualenv is None:

# raise ImportError("Bootstrapping Pulsar into a virtual environment, requires virtualenv.")

# if IS_WINDOWS:

# bin_dir = "Scripts"

# else:

# bin_dir = "bin"

# virtualenv.create_environment(venv)

# # TODO: Remove --pre on release.

# subprocess.call([os.path.join(venv, bin_dir, 'pip'), 'install', "--pre", "pulsar-app"])

开发者ID:galaxyproject,项目名称:pulsar,代码行数:20,

示例4: handle_dependencies

​点赞 6

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def handle_dependencies(plugin):

path = user_plugin_path.replace('plugins', 'repositories/default/plugins')

plugin_json = '{}/{}/plugin.json'.format(path, plugin.path)

try:

with open(plugin_json, 'r') as jsonfile:

raw_data = json.load(jsonfile)

dependencies = raw_data["plugin"]["dependencies"]

if "pip" in dependencies:

for package in dependencies["pip"]:

print("Installing {} dependency: {}".format(plugin.name, package))

try:

pip.main(['install', '-q', package])

except IOError:

print("Unable to install {}. Permissions?".format(package))

traceback.print_exc()

except IOError:

log_error("Unable to install dependencies for {}. Permissions?".format(plugin.name))

traceback.print_exc()

开发者ID:nccgroup,项目名称:binja_sensei,代码行数:20,

示例5: main

​点赞 6

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def main():

tmpdir = None

try:

# Create a temporary working directory

tmpdir = tempfile.mkdtemp()

# Unpack the zipfile into the temporary directory

pip_zip = os.path.join(tmpdir, "pip.zip")

with open(pip_zip, "wb") as fp:

fp.write(b85decode(DATA.replace(b"\n", b"")))

# Add the zipfile to sys.path so that we can import it

sys.path.insert(0, pip_zip)

# Run the bootstrap

bootstrap(tmpdir=tmpdir)

finally:

# Clean up our temporary working directory

if tmpdir:

shutil.rmtree(tmpdir, ignore_errors=True)

开发者ID:pypa,项目名称:get-pip,代码行数:22,

示例6: package_dependencies

​点赞 6

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def package_dependencies(self, build_dir):

thirdparty_dir = os.path.join(build_dir, 'third-party')

requirements = self.distribution.install_requires

for requirement in requirements:

pip.main(['wheel',

'--wheel-dir={0}'.format(thirdparty_dir),

'--no-cache',

requirement])

pip.main(['install',

'-d',

thirdparty_dir,

'--no-cache',

'--no-use-wheel',

'virtualenv=={0}'.format(self.virtualenv_version)])

开发者ID:prestodb,项目名称:presto-admin,代码行数:18,

示例7: update

​点赞 6

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def update(supervisor):

os.chdir(BASE_DIR)

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "panel.settings")

tracked = repo.active_branch.tracking_branch()

if repo.git.rev_parse("@") == repo.git.rev_parse(tracked):

click.secho('Hawthorne is already up-to-date', bold=True, fg='green')

return

repo.git.pull()

pip.main(['install', '-U', '-r', BASE_DIR + '/requirements.txt'])

call_command('migrate', interactive=False)

call_command('collectstatic', interactive=False)

timezones = run(['mysql_tzinfo_to_sql', '/usr/share/zoneinfo'],

stdout=PIPE, stderr=PIPE).stdout

with connection.cursor() as cursor:

cursor.execute('USE mysql')

cursor.execute(timezones)

if supervisor and which('supervisorctl'):

run(['supervisorctl', 'reread'], stdout=PIPE, stderr=PIPE)

run(['supervisorctl', 'update'], stdout=PIPE, stderr=PIPE)

run(['supervisorctl', 'restart', 'hawthorne:*'], stdout=PIPE, stderr=PIPE)

开发者ID:indietyp,项目名称:hawthorne,代码行数:27,

示例8: do

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def do(action, dependency):

return pip.main([action, dependency])

开发者ID:anatolikalysch,项目名称:VMAttack,代码行数:4,

示例9: printInfo

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def printInfo():

print("Usage:")

print(" main [option...] file/folder")

print("\nPacking Options:")

print(" -o output file name (Optional)")

print(" -little (or -l) output will be in little endian if this is used")

print(" -compress Yaz0 (SZS) compress the output with the specified level(0-9) (1 is the default)")

print(" 0: No compression (Fastest)")

print(" 9: Best compression (Slowest)")

print("\nExiting in 5 seconds...")

time.sleep(5)

sys.exit(1)

开发者ID:aboood40091,项目名称:SARC-Tool,代码行数:14,

示例10: dependencies

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def dependencies(option):

"""install script dependencies with pip"""

try:

with open("requirements.txt", "r") as requirements:

dependencies = requirements.read().splitlines()

except IOError:

print "requirements.txt not found, please redownload or do pull request again"

exit(1)

for lib in dependencies:

pip.main([option, lib])

开发者ID:the-robot,项目名称:sqliv,代码行数:14,

示例11: install_packages

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def install_packages(dest, packages):

for p in packages:

pip.main(['install', '-t', dest, p])

开发者ID:ellimilial,项目名称:sqs-s3-logger,代码行数:5,

示例12: pip

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def pip(packages):

click.echo("Running: pip3 install %s" % packages)

import pip

pip.main(['install'] + packages.split(" "))

return True

开发者ID:laurivosandi,项目名称:certidude,代码行数:7,

示例13: vendor

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def vendor():

pip.main(['install', '-t', here, '-r', 'vendor.txt'])

for dirname in glob.glob('*.egg-info'):

shutil.rmtree(dirname)

开发者ID:Frank-qlu,项目名称:recruit,代码行数:6,

示例14: crawl

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def crawl(self, container_id=None, **kwargs):

try:

import redis

except ImportError:

import pip

pip.main(['install', 'redis'])

import redis

# only crawl redis container. Otherwise, quit.

c = dockercontainer.DockerContainer(container_id)

port = self.get_port(c)

if not port:

return

state = c.inspect['State']

pid = str(state['Pid'])

ips = run_as_another_namespace(

pid, ['net'], utils.misc.get_host_ip4_addresses)

for each_ip in ips:

if each_ip != "127.0.0.1":

ip = each_ip

break

client = redis.Redis(host=ip, port=port)

try:

metrics = client.info()

feature_attributes = feature.create_feature(metrics)

return [(self.feature_key, feature_attributes, self.feature_type)]

except:

logger.info("redis does not listen on port:%d", port)

raise ConnectionError("no listen at %d", port)

开发者ID:cloudviz,项目名称:agentless-system-crawler,代码行数:37,

示例15: crawl

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def crawl(self, root_dir='/', **kwargs):

import pip

pip.main(['install', 'redis'])

import redis

try:

client = redis.Redis(host='localhost', port=self.default_port)

metrics = client.info()

except ConnectionError:

logger.info("redis does not listen on port:%d", self.default_port)

raise ConnectionError("no listen at %d", self.default_port)

feature_attributes = feature.create_feature(metrics)

return [(self.feature_key, feature_attributes, self.feature_type)]

开发者ID:cloudviz,项目名称:agentless-system-crawler,代码行数:17,

示例16: _init_nvml

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def _init_nvml(self):

if self._load_nvidia_lib() == -1:

return -1

try:

global pynvml

import pip

pip.main(['install', '--quiet', 'nvidia-ml-py'])

import pynvml as pynvml

pynvml.nvmlInit()

return 0

except pynvml.NVMLError, err:

logger.debug('Failed to initialize NVML: ', err)

return -1

开发者ID:cloudviz,项目名称:agentless-system-crawler,代码行数:16,

示例17: install_custom_module

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def install_custom_module(self, custom_package_name, custom_package_version, model_id, model_version, tar_file_content, delete_previous=False):

lockfile = self.working_dir + '/' + custom_package_name + '.lock'

pkg_file_path = self.working_dir + '/' + custom_package_name + '-' + custom_package_version + '-' + str(time.time()) + '.tgz'

if not os.path.exists(lockfile):

fd = open(lockfile, 'w+')

fd.close()

lockfd = self.lock(lockfile)

if not os.path.exists(pkg_file_path):

with open(pkg_file_path, 'w') as fout:

fout.write(tar_file_content)

pkg_install_path = self.pkg_install_dir+'/'+custom_package_name

if os.path.exists(pkg_install_path) and delete_previous==True:

import shutil

shutil.rmtree(pkg_install_path, ignore_errors=True)

elif os.path.exists(pkg_install_path) and delete_previous==False:

self.unlock(lockfd)

raise ValueError("Already installed. Set delete_previous to true to override")

self.check_namespace_clashes(pkg_file_path, custom_package_name, custom_package_version)

if not os.path.exists(pkg_install_path):

import pip

pip.main(['install', pkg_file_path, '--upgrade', '--target', pkg_install_path, '--no-deps'])

self.unlock(lockfd)

return pkg_install_path

开发者ID:flipkart-incubator,项目名称:Hunch,代码行数:33,

示例18: run

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def run():

base = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

## FIXME: this is kind of crude; if we could create a fake pip

## module, then exec into it and update pip.__path__ properly, we

## wouldn't have to update sys.path:

sys.path.insert(0, base)

import pip

return pip.main()

开发者ID:aliyun,项目名称:oss-ftp,代码行数:10,

示例19: _run_pip

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def _run_pip(args, additional_paths=None):

# Add our bundled software to the sys.path so we can import it

if additional_paths is not None:

sys.path = additional_paths + sys.path

# Install the bundled software

import pip

pip.main(args)

开发者ID:aliyun,项目名称:oss-ftp,代码行数:10,

示例20: install_pip_packages

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def install_pip_packages():

packages = [

("pybluez", "bluetooth")

]

for p in packages:

try:

imp.find_module(p[1])

except ImportError:

print("No module " + p[0] + " found...")

pip.main(["install", p[0]])

开发者ID:Stefal,项目名称:rtkbase,代码行数:14,

示例21: main

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def main():

findlinks, download_dest, pkg, pkgname = sys.argv[1:]

assert not pip_main(['wheel', pkg, '--wheel-dir', findlinks])

os.environ.pop('PIP_REQ_TRACKER', None) # not reentrant

assert not pip_main([

'download',

'--dest', download_dest,

'--find-links', 'file://{}'.format(findlinks),

'--no-index',

pkgname,

])

开发者ID:asottile,项目名称:pip-custom-platform,代码行数:13,

示例22: install_and_import

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def install_and_import(pkg):

"""

Installs latest versions of required packages.

:param pkg: Package name.

"""

import importlib

try:

importlib.import_module(pkg)

except ImportError:

import pip

pip.main(["install", pkg])

finally:

globals()[pkg] = importlib.import_module(pkg)

开发者ID:clario-tech,项目名称:s3-inspector,代码行数:16,

示例23: main

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def main():

if sys.version[0] == "3":

raw_input = input

packages = ["boto3", "botocore", "termcolor", "requests"]

for package in packages:

install_and_import(package)

s3, s3_client = get_s3_obj()

analyze_buckets(s3, s3_client)

开发者ID:clario-tech,项目名称:s3-inspector,代码行数:10,

示例24: resolve

​点赞 5

# 需要导入模块: import pip [as 别名]

# 或者: from pip import main [as 别名]

def resolve(self):

"""

Downloads this requirement from PyPI and returns metadata from its setup.py.

Returns an error string or None if no error.

"""

tmp_dir = tempfile.mkdtemp()

with open(os.devnull, 'w') as devnull:

try:

cmd = ['install', '--quiet',

'--download', tmp_dir,

'--build', tmp_dir,

'--no-clean', '--no-deps',

'--no-binary', ':all:', str(self.req)]

pip.main(cmd)

except Exception as e:

rmtree(tmp_dir)

return 'error downloading requirement: {}'.format(str(e))

project_dir = path.join(tmp_dir, self.req.project_name)

setup_dict, err = setup_py.setup_info_dir(project_dir)

if err is not None:

return None, err

rmtree(tmp_dir)

self.metadata = setup_dict

return None

开发者ID:sourcegraph,项目名称:pydep,代码行数:28,

注:本文中的pip.main方法示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值