mirror of
https://github.com/facebook/proxygen.git
synced 2025-08-10 05:22:59 +03:00
Install wheel and cython on fbcode_builder venv environments
Summary: This is an update to the fbcode_builder codebase to allow setting up the python virtualenv with python dependencies installed. I've included wheel and cython (with a pinned version to 0.28.6 which is the only version that works with thriftpy3 at the moment, due to https://github.com/cython/cython/issues/2985) as standard packages since these are required by some of our top-level dependencies (folly and thrift) As far as I know, there are no other projects that use PYTHON_VENV at the moment except LogDevice so the impact should be minimal. Reviewed By: lucaspmelo Differential Revision: D18758383 fbshipit-source-id: 264941311c5e3a19dc4ef2bb78c9a1baa34dfd8c
This commit is contained in:
committed by
Facebook Github Bot
parent
492607c3e8
commit
771cc9afb7
@@ -183,6 +183,12 @@ class FBCodeBuilder(object):
|
||||
'''
|
||||
raise NotImplementedError
|
||||
|
||||
def python_deps(self):
|
||||
return [
|
||||
'wheel',
|
||||
'cython==0.28.6',
|
||||
]
|
||||
|
||||
def debian_deps(self):
|
||||
return [
|
||||
'autoconf-archive',
|
||||
@@ -252,18 +258,23 @@ class FBCodeBuilder(object):
|
||||
return self.step('Install packages for Debian-based OS', actions)
|
||||
|
||||
def create_python_venv(self):
|
||||
action = []
|
||||
actions = []
|
||||
if self.option("PYTHON_VENV", "OFF") == "ON":
|
||||
action = self.run(ShellQuoted("python3 -m venv {p}").format(
|
||||
p=path_join(self.option('prefix'), "venv")))
|
||||
return(action)
|
||||
actions.append(self.run(ShellQuoted("python3 -m venv {p}").format(
|
||||
p=path_join(self.option('prefix'), "venv"))))
|
||||
return(actions)
|
||||
|
||||
def python_venv(self):
|
||||
action = []
|
||||
actions = []
|
||||
if self.option("PYTHON_VENV", "OFF") == "ON":
|
||||
action = ShellQuoted("source {p}").format(
|
||||
p=path_join(self.option('prefix'), "venv", "bin", "activate"))
|
||||
return(action)
|
||||
actions.append(ShellQuoted("source {p}").format(
|
||||
p=path_join(self.option('prefix'), "venv", "bin", "activate")))
|
||||
|
||||
actions.append(self.run(
|
||||
ShellQuoted("python3 -m pip install {deps}").format(
|
||||
deps=shell_join(' ', (ShellQuoted(dep) for dep in
|
||||
self.python_deps())))))
|
||||
return(actions)
|
||||
|
||||
def debian_ccache_setup_steps(self):
|
||||
return [] # It's ok to ship a renderer without ccache support.
|
||||
|
Reference in New Issue
Block a user