Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
news
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Sartika Aritonang
news
Commits
27d7e0d7
Commit
27d7e0d7
authored
May 29, 2020
by
Sartika Aritonang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Upload New File
parent
52f5a6d6
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
190 additions
and
0 deletions
+190
-0
wheel.py
stbi/Lib/site-packages/pip/_internal/commands/wheel.py
+190
-0
No files found.
stbi/Lib/site-packages/pip/_internal/commands/wheel.py
0 → 100644
View file @
27d7e0d7
# -*- coding: utf-8 -*-
# The following comment should be removed at some point in the future.
# mypy: disallow-untyped-defs=False
from
__future__
import
absolute_import
import
logging
import
os
import
shutil
from
pip._internal.cache
import
WheelCache
from
pip._internal.cli
import
cmdoptions
from
pip._internal.cli.req_command
import
RequirementCommand
,
with_cleanup
from
pip._internal.exceptions
import
CommandError
from
pip._internal.req.req_tracker
import
get_requirement_tracker
from
pip._internal.utils.misc
import
ensure_dir
,
normalize_path
from
pip._internal.utils.temp_dir
import
TempDirectory
from
pip._internal.utils.typing
import
MYPY_CHECK_RUNNING
from
pip._internal.wheel_builder
import
build
,
should_build_for_wheel_command
if
MYPY_CHECK_RUNNING
:
from
optparse
import
Values
from
typing
import
Any
,
List
logger
=
logging
.
getLogger
(
__name__
)
class
WheelCommand
(
RequirementCommand
):
"""
Build Wheel archives for your requirements and dependencies.
Wheel is a built-package format, and offers the advantage of not
recompiling your software during every install. For more details, see the
wheel docs: https://wheel.readthedocs.io/en/latest/
Requirements: setuptools>=0.8, and wheel.
'pip wheel' uses the bdist_wheel setuptools extension from the wheel
package to build individual wheels.
"""
usage
=
"""
%
prog [options] <requirement specifier> ...
%
prog [options] -r <requirements file> ...
%
prog [options] [-e] <vcs project url> ...
%
prog [options] [-e] <local project path> ...
%
prog [options] <archive url/path> ..."""
def
__init__
(
self
,
*
args
,
**
kw
):
super
(
WheelCommand
,
self
)
.
__init__
(
*
args
,
**
kw
)
cmd_opts
=
self
.
cmd_opts
cmd_opts
.
add_option
(
'-w'
,
'--wheel-dir'
,
dest
=
'wheel_dir'
,
metavar
=
'dir'
,
default
=
os
.
curdir
,
help
=
(
"Build wheels into <dir>, where the default is the "
"current working directory."
),
)
cmd_opts
.
add_option
(
cmdoptions
.
no_binary
())
cmd_opts
.
add_option
(
cmdoptions
.
only_binary
())
cmd_opts
.
add_option
(
cmdoptions
.
prefer_binary
())
cmd_opts
.
add_option
(
'--build-option'
,
dest
=
'build_options'
,
metavar
=
'options'
,
action
=
'append'
,
help
=
"Extra arguments to be supplied to 'setup.py bdist_wheel'."
,
)
cmd_opts
.
add_option
(
cmdoptions
.
no_build_isolation
())
cmd_opts
.
add_option
(
cmdoptions
.
use_pep517
())
cmd_opts
.
add_option
(
cmdoptions
.
no_use_pep517
())
cmd_opts
.
add_option
(
cmdoptions
.
constraints
())
cmd_opts
.
add_option
(
cmdoptions
.
editable
())
cmd_opts
.
add_option
(
cmdoptions
.
requirements
())
cmd_opts
.
add_option
(
cmdoptions
.
src
())
cmd_opts
.
add_option
(
cmdoptions
.
ignore_requires_python
())
cmd_opts
.
add_option
(
cmdoptions
.
no_deps
())
cmd_opts
.
add_option
(
cmdoptions
.
build_dir
())
cmd_opts
.
add_option
(
cmdoptions
.
progress_bar
())
cmd_opts
.
add_option
(
'--global-option'
,
dest
=
'global_options'
,
action
=
'append'
,
metavar
=
'options'
,
help
=
"Extra global options to be supplied to the setup.py "
"call before the 'bdist_wheel' command."
)
cmd_opts
.
add_option
(
'--pre'
,
action
=
'store_true'
,
default
=
False
,
help
=
(
"Include pre-release and development versions. By default, "
"pip only finds stable versions."
),
)
cmd_opts
.
add_option
(
cmdoptions
.
require_hashes
())
index_opts
=
cmdoptions
.
make_option_group
(
cmdoptions
.
index_group
,
self
.
parser
,
)
self
.
parser
.
insert_option_group
(
0
,
index_opts
)
self
.
parser
.
insert_option_group
(
0
,
cmd_opts
)
@with_cleanup
def
run
(
self
,
options
,
args
):
# type: (Values, List[Any]) -> None
cmdoptions
.
check_install_build_global
(
options
)
session
=
self
.
get_default_session
(
options
)
finder
=
self
.
_build_package_finder
(
options
,
session
)
build_delete
=
(
not
(
options
.
no_clean
or
options
.
build_dir
))
wheel_cache
=
WheelCache
(
options
.
cache_dir
,
options
.
format_control
)
options
.
wheel_dir
=
normalize_path
(
options
.
wheel_dir
)
ensure_dir
(
options
.
wheel_dir
)
req_tracker
=
self
.
enter_context
(
get_requirement_tracker
())
directory
=
TempDirectory
(
options
.
build_dir
,
delete
=
build_delete
,
kind
=
"wheel"
,
globally_managed
=
True
,
)
reqs
=
self
.
get_requirements
(
args
,
options
,
finder
,
session
)
preparer
=
self
.
make_requirement_preparer
(
temp_build_dir
=
directory
,
options
=
options
,
req_tracker
=
req_tracker
,
session
=
session
,
finder
=
finder
,
wheel_download_dir
=
options
.
wheel_dir
,
use_user_site
=
False
,
)
resolver
=
self
.
make_resolver
(
preparer
=
preparer
,
finder
=
finder
,
options
=
options
,
wheel_cache
=
wheel_cache
,
ignore_requires_python
=
options
.
ignore_requires_python
,
use_pep517
=
options
.
use_pep517
,
)
self
.
trace_basic_info
(
finder
)
requirement_set
=
resolver
.
resolve
(
reqs
,
check_supported_wheels
=
True
)
reqs_to_build
=
[
r
for
r
in
requirement_set
.
requirements
.
values
()
if
should_build_for_wheel_command
(
r
)
]
# build wheels
build_successes
,
build_failures
=
build
(
reqs_to_build
,
wheel_cache
=
wheel_cache
,
build_options
=
options
.
build_options
or
[],
global_options
=
options
.
global_options
or
[],
)
for
req
in
build_successes
:
assert
req
.
link
and
req
.
link
.
is_wheel
assert
req
.
local_file_path
# copy from cache to target directory
try
:
shutil
.
copy
(
req
.
local_file_path
,
options
.
wheel_dir
)
except
OSError
as
e
:
logger
.
warning
(
"Building wheel for
%
s failed:
%
s"
,
req
.
name
,
e
,
)
build_failures
.
append
(
req
)
if
len
(
build_failures
)
!=
0
:
raise
CommandError
(
"Failed to build one or more wheels"
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment