def _build_one_pep517(self, req, tempd, python_tag=None):
assert req.metadata_directory is not None<EOL>try:<EOL><INDENT>req.spin_message = '<STR_LIT>' % (req.name,)<EOL>logger.debug('<STR_LIT>', tempd)<EOL>wheel_name = req.pep517_backend.build_wheel(<EOL>tempd,<EOL>metadata_directory=req.metadata_directory<EOL>)<EOL>if python_tag:<EOL><INDENT>new_name = replace_python_tag(wheel_name, python_tag)<EOL>os.rename(<EOL>os.path.join(tempd, wheel_name),<EOL>os.path.join(tempd, new_name)<EOL>)<EOL>wheel_name = new_name<EOL><DEDENT><DEDENT>except Exception:<EOL><INDENT>logger.error('<STR_LIT>', req.name)<EOL>return None<EOL><DEDENT>return os.path.join(tempd, wheel_name)<EOL>
Build one InstallRequirement using the PEP 517 build process.

        Returns path to wheel if successfully built. Otherwise, returns None.