mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 12:54:11 +08:00
Fix some python version issues with cmake
Summary: This script will attempt to determine files that will be useful for building with the correct python version. Currently on macOS with various python installations CMake fails to determine the correct location of python libraries. Closes https://github.com/caffe2/caffe2/pull/163 Reviewed By: Yangqing Differential Revision: D4594954 Pulled By: bwasti fbshipit-source-id: c2b750ee9608a02fad4ce2f2293f5fa54dc7011c
This commit is contained in:
committed by
Facebook Github Bot
parent
26be1977bf
commit
7a65736e46
2
Makefile
2
Makefile
@ -1,7 +1,7 @@
|
||||
# This makefile does nothing but delegating the actual building to cmake.
|
||||
|
||||
all:
|
||||
@mkdir -p build && cd build && cmake .. && make
|
||||
@mkdir -p build && cd build && cmake .. $(python ./scripts/get_python_cmake_flags.py) && make
|
||||
|
||||
local:
|
||||
@./scripts/build_local.sh
|
||||
|
39
scripts/get_python_cmake_flags.py
Normal file
39
scripts/get_python_cmake_flags.py
Normal file
@ -0,0 +1,39 @@
|
||||
##############################################################################
|
||||
# Use this script to find your preferred python installation.
|
||||
##############################################################################
|
||||
#
|
||||
# You can use the following to build with your preferred version of python
|
||||
# if your installation is not being properly detected by CMake.
|
||||
#
|
||||
# mkdir -p build && cd build
|
||||
# cmake $(python ../scripts/get_python_libs.py) ..
|
||||
# make
|
||||
#
|
||||
|
||||
from __future__ import absolute_import
|
||||
from __future__ import unicode_literals
|
||||
from __future__ import print_function
|
||||
from distutils import sysconfig
|
||||
import os
|
||||
import sys
|
||||
import platform
|
||||
|
||||
version = platform.python_version()
|
||||
if version[:3] != '2.7':
|
||||
print('ERROR: Python {version} is not officially supported yet.'
|
||||
.format(version=version), file=sys.stderr)
|
||||
exit(1)
|
||||
|
||||
# Flags to print to stdout
|
||||
flags = ''
|
||||
inc = sysconfig.get_python_inc()
|
||||
lib = sysconfig.get_config_var("LIBDIR")
|
||||
|
||||
# macOS specific
|
||||
if sys.platform == "darwin":
|
||||
lib = os.path.dirname(lib) + '/Python'
|
||||
if os.path.isfile(lib):
|
||||
flags += '-DPYTHON_LIBRARY={lib}'.format(lib=lib)
|
||||
|
||||
if os.path.isfile(inc + '/Python.h'):
|
||||
flags += '-DPYTHON_INCLUDE_DIR={inc}'.format(inc=inc)
|
Reference in New Issue
Block a user