Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleDetection
提交
c016758f
P
PaddleDetection
项目概览
PaddlePaddle
/
PaddleDetection
大约 1 年 前同步成功
通知
695
Star
11112
Fork
2696
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
184
列表
看板
标记
里程碑
合并请求
40
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleDetection
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
184
Issue
184
列表
看板
标记
里程碑
合并请求
40
合并请求
40
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
c016758f
编写于
1月 08, 2017
作者:
G
gangliao
提交者:
GitHub
1月 08, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1092 from gangliao/python_default
Check Python if system already equipped one
上级
9eedd53e
9a7df696
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
251 addition
and
231 deletion
+251
-231
.travis.yml
.travis.yml
+3
-3
CMakeLists.txt
CMakeLists.txt
+15
-16
cmake/configure.cmake
cmake/configure.cmake
+4
-0
cmake/external/python.cmake
cmake/external/python.cmake
+202
-184
paddle/api/CMakeLists.txt
paddle/api/CMakeLists.txt
+14
-12
paddle/scripts/travis/before_install.osx.sh
paddle/scripts/travis/before_install.osx.sh
+3
-1
paddle/scripts/travis/build_and_test.sh
paddle/scripts/travis/build_and_test.sh
+6
-13
paddle/utils/PythonUtil.cpp.in
paddle/utils/PythonUtil.cpp.in
+4
-2
未找到文件。
.travis.yml
浏览文件 @
c016758f
...
...
@@ -21,13 +21,14 @@ addons:
packages
:
-
gcc-4.8
-
g++-4.8
-
wget
-
git
-
build-essential
-
libatlas-base-dev
-
python
-
python-pip
-
python2.7-dev
-
python-numpy
-
python-wheel
-
curl
-
swig
-
graphviz
...
...
@@ -48,8 +49,7 @@ before_install:
fi
-
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then paddle/scripts/travis/before_install.osx.sh; fi
-
if [[ "$JOB" == "PRE_COMMIT" ]]; then sudo ln -s /usr/bin/clang-format-3.8 /usr/bin/clang-format; fi
-
pip install --upgrade pip
-
pip install wheel protobuf sphinx recommonmark sphinx_rtd_theme virtualenv pre-commit requests==2.9.2 LinkChecker
-
pip install numpy wheel protobuf sphinx recommonmark sphinx_rtd_theme virtualenv pre-commit requests==2.9.2 LinkChecker
script
:
-
paddle/scripts/travis/main.sh
notifications
:
...
...
CMakeLists.txt
浏览文件 @
c016758f
...
...
@@ -28,21 +28,21 @@ include(system)
include
(
simd
)
###################### Configurations ############################
option
(
WITH_
DSO
"Compile PaddlePaddle with dynamic linked libraries"
ON
)
option
(
WITH_
GPU
"Compile PaddlePaddle with gpu"
${
CUDA
_FOUND
}
)
option
(
WITH_D
OUBLE
"Compile PaddlePaddle with double precision, otherwise use single precision"
OFF
)
option
(
WITH_
AVX
"Compile PaddlePaddle with avx intrinsics"
${
AVX_FOUND
}
)
option
(
WITH_
PYTHON
"Compile PaddlePaddle with python interpreter"
ON
)
option
(
WITH_STYLE_CHECK
"
Style Check for PaddlePaddle"
ON
)
option
(
WITH_
RDMA
"Compile PaddlePaddle with rdma support"
OFF
)
option
(
WITH_
TIMER
"Compile PaddlePaddle use timer"
OFF
)
option
(
WITH_
PROFILER
"Compile PaddlePaddle use gpu profiler"
OFF
)
option
(
WITH_T
ESTING
"Compile and run unittest for PaddlePaddle"
ON
)
option
(
WITH_
DOC
"Compile PaddlePaddle with documentation"
OFF
)
option
(
WITH_
SWIG_PY
"Compile PaddlePaddle with py PaddlePaddle prediction api"
ON
)
option
(
ON_
TRAVIS
"Running test on travis-ci or not."
OFF
)
option
(
ON_COVERALLS
"Generating code coverage data on coveralls or not."
OFF
)
option
(
COVERALLS_UPLOAD
"Uploading the generated coveralls json."
ON
)
option
(
WITH_
GPU
"Compile PaddlePaddle with NVIDIA GPU"
${
CUDA_FOUND
}
)
option
(
WITH_
AVX
"Compile PaddlePaddle with AVX intrinsics"
${
AVX
_FOUND
}
)
option
(
WITH_D
SO
"Compile PaddlePaddle with dynamic linked CUDA"
ON
)
option
(
WITH_
TESTING
"Compile PaddlePaddle with unit testing"
ON
)
option
(
WITH_
SWIG_PY
"Compile PaddlePaddle with inference api"
ON
)
option
(
WITH_STYLE_CHECK
"
Compile PaddlePaddle with style check"
ON
)
option
(
WITH_
PYTHON
"Compile PaddlePaddle with python interpreter"
ON
)
option
(
WITH_
DOUBLE
"Compile PaddlePaddle with double precision"
OFF
)
option
(
WITH_
RDMA
"Compile PaddlePaddle with RDMA support"
OFF
)
option
(
WITH_T
IMER
"Compile PaddlePaddle with stats timer"
OFF
)
option
(
WITH_
PROFILER
"Compile PaddlePaddle with GPU profiler"
OFF
)
option
(
WITH_
DOC
"Compile PaddlePaddle with documentation"
OFF
)
option
(
ON_
COVERALLS
"Compile PaddlePaddle with code coverage"
OFF
)
option
(
COVERALLS_UPLOAD
"Package code coverage data to coveralls"
OFF
)
option
(
ON_TRAVIS
"Exclude special unit test on Travis CI"
OFF
)
include
(
external/zlib
)
# download, build, install zlib
include
(
external/gflags
)
# download, build, install gflags
...
...
@@ -63,7 +63,6 @@ include(flags) # set paddle compile flags
include
(
cudnn
)
# set cudnn libraries
include
(
version
)
# set PADDLE_VERSION
include
(
coveralls
)
# set code coverage
include
(
python_module
)
# set python module
include
(
configure
)
# add paddle env configuration
...
...
cmake/configure.cmake
浏览文件 @
c016758f
...
...
@@ -12,6 +12,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
if
(
NOT WITH_PYTHON
)
add_definitions
(
-DPADDLE_NO_PYTHON
)
endif
(
NOT WITH_PYTHON
)
if
(
WITH_DSO
)
add_definitions
(
-DPADDLE_USE_DSO
)
endif
(
WITH_DSO
)
...
...
cmake/external/python.cmake
浏览文件 @
c016758f
...
...
@@ -13,192 +13,210 @@
# limitations under the License.
INCLUDE
(
ExternalProject
)
INCLUDE
(
python_module
)
FIND_PACKAGE
(
PythonInterp 2.7
)
FIND_PACKAGE
(
PythonLibs 2.7
)
SET
(
py_env
""
)
IF
(
PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND
)
find_python_module
(
pip REQUIRED
)
find_python_module
(
numpy REQUIRED
)
find_python_module
(
wheel REQUIRED
)
find_python_module
(
google.protobuf REQUIRED
)
FIND_PACKAGE
(
NumPy REQUIRED
)
ELSE
(
PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND
)
##################################### PYTHON ########################################
SET
(
PYTHON_SOURCES_DIR
${
CMAKE_CURRENT_SOURCE_DIR
}
/third_party/python
)
SET
(
PYTHON_INSTALL_DIR
${
CMAKE_CURRENT_SOURCE_DIR
}
/third_party/install/python
)
SET
(
_python_DIR
${
PYTHON_INSTALL_DIR
}
)
IF
(
UNIX
)
SET
(
PYTHON_FOUND ON
)
SET
(
PYTHON_INCLUDE_DIR
"
${
PYTHON_INSTALL_DIR
}
/include/python2.7"
CACHE PATH
"Python include dir"
FORCE
)
SET
(
PYTHON_LIBRARIES
"
${
PYTHON_INSTALL_DIR
}
/lib/libpython2.7.a"
CACHE FILEPATH
"Python library"
FORCE
)
SET
(
PYTHON_EXECUTABLE
${
PYTHON_INSTALL_DIR
}
/bin/python CACHE FILEPATH
"Python executable"
FORCE
)
SET
(
PY_SITE_PACKAGES_PATH
"
${
PYTHON_INSTALL_DIR
}
/lib/python2.7/site-packages"
CACHE PATH
"Python site-packages path"
FORCE
)
ELSEIF
(
WIN32
)
SET
(
PYTHON_FOUND ON
)
SET
(
PYTHON_INCLUDE_DIR
"
${
PYTHON_INSTALL_DIR
}
/include"
CACHE PATH
"Python include dir"
FORCE
)
SET
(
PYTHON_LIBRARIES
"
${
PYTHON_INSTALL_DIR
}
/libs/python27.lib"
CACHE FILEPATH
"Python library"
FORCE
)
SET
(
PYTHON_EXECUTABLE
"
${
PYTHON_INSTALL_DIR
}
/bin/python.exe"
CACHE FILEPATH
"Python executable"
FORCE
)
SET
(
PY_SITE_PACKAGES_PATH
"
${
PYTHON_INSTALL_DIR
}
/Lib/site-packages"
CACHE PATH
"Python site-packages path"
FORCE
)
ELSE
()
MESSAGE
(
FATAL_ERROR
"Unknown system !"
)
ENDIF
()
##################################### PYTHON ########################################
SET
(
PYTHON_SOURCES_DIR
${
CMAKE_CURRENT_SOURCE_DIR
}
/third_party/python
)
SET
(
PYTHON_INSTALL_DIR
${
CMAKE_CURRENT_SOURCE_DIR
}
/third_party/install/python
)
SET
(
_python_DIR
${
PYTHON_INSTALL_DIR
}
)
IF
(
UNIX
)
SET
(
PYTHON_FOUND ON
)
SET
(
PYTHON_INCLUDE_DIR
"
${
PYTHON_INSTALL_DIR
}
/include/python2.7"
CACHE PATH
"Python include dir"
FORCE
)
SET
(
PYTHON_LIBRARIES
"
${
PYTHON_INSTALL_DIR
}
/lib/libpython2.7.a"
CACHE FILEPATH
"Python library"
FORCE
)
SET
(
PYTHON_EXECUTABLE
${
PYTHON_INSTALL_DIR
}
/bin/python CACHE FILEPATH
"Python executable"
FORCE
)
SET
(
PY_SITE_PACKAGES_PATH
"
${
PYTHON_INSTALL_DIR
}
/lib/python2.7/site-packages"
CACHE PATH
"Python site-packages path"
FORCE
)
ELSEIF
(
WIN32
)
SET
(
PYTHON_FOUND ON
)
SET
(
PYTHON_INCLUDE_DIR
"
${
PYTHON_INSTALL_DIR
}
/include"
CACHE PATH
"Python include dir"
FORCE
)
SET
(
PYTHON_LIBRARIES
"
${
PYTHON_INSTALL_DIR
}
/libs/python27.lib"
CACHE FILEPATH
"Python library"
FORCE
)
SET
(
PYTHON_EXECUTABLE
"
${
PYTHON_INSTALL_DIR
}
/bin/python.exe"
CACHE FILEPATH
"Python executable"
FORCE
)
SET
(
PY_SITE_PACKAGES_PATH
"
${
PYTHON_INSTALL_DIR
}
/Lib/site-packages"
CACHE PATH
"Python site-packages path"
FORCE
)
ELSE
()
MESSAGE
(
FATAL_ERROR
"Unknown system !"
)
ENDIF
()
SET
(
py_env
PATH=
${
PYTHON_INSTALL_DIR
}
/bin/:$ENV{PATH}
PYTHONHOME=
${
PYTHON_INSTALL_DIR
}
PYTHONPATH=
${
PYTHON_INSTALL_DIR
}
/lib:
${
PYTHON_INSTALL_DIR
}
/lib/python2.7:
${
PY_SITE_PACKAGES_PATH
}
)
INCLUDE_DIRECTORIES
(
${
PYTHON_INCLUDE_DIR
}
)
IF
(
APPLE
)
LIST
(
APPEND EXTERNAL_PROJECT_OPTIONAL_CMAKE_ARGS
-DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON
)
ENDIF
()
SET
(
EXTERNAL_PROJECT_OPTIONAL_CMAKE_CACHE_ARGS
)
# Force Python build to "Release".
IF
(
CMAKE_CONFIGURATION_TYPES
)
SET
(
SAVED_CMAKE_CFG_INTDIR
${
CMAKE_CFG_INTDIR
}
)
SET
(
CMAKE_CFG_INTDIR
"Release"
)
ELSE
()
LIST
(
APPEND EXTERNAL_PROJECT_OPTIONAL_CMAKE_CACHE_ARGS
-DCMAKE_BUILD_TYPE:STRING=Release
)
ENDIF
()
ExternalProject_Add
(
python
${
EXTERNAL_PROJECT_LOG_ARGS
}
GIT_REPOSITORY
"https://github.com/python-cmake-buildsystem/python-cmake-buildsystem.git"
PREFIX
${
PYTHON_SOURCES_DIR
}
UPDATE_COMMAND
""
CMAKE_ARGS -DPYTHON_VERSION=2.7.12
CMAKE_ARGS -DCMAKE_CXX_COMPILER=
${
CMAKE_CXX_COMPILER
}
CMAKE_ARGS -DCMAKE_C_COMPILER=
${
CMAKE_C_COMPILER
}
CMAKE_CACHE_ARGS
-DCMAKE_INSTALL_PREFIX:PATH=
${
PYTHON_INSTALL_DIR
}
-DBUILD_LIBPYTHON_SHARED:BOOL=OFF
-DUSE_SYSTEM_LIBRARIES:BOOL=OFF
-DZLIB_ROOT:FILEPATH=
${
ZLIB_ROOT
}
-DZLIB_INCLUDE_DIR:PATH=
${
ZLIB_INCLUDE_DIR
}
-DZLIB_LIBRARY:FILEPATH=
${
ZLIB_LIBRARIES
}
-DDOWNLOAD_SOURCES:BOOL=ON
-DINSTALL_WINDOWS_TRADITIONAL:BOOL=OFF
${
EXTERNAL_PROJECT_OPTIONAL_CMAKE_CACHE_ARGS
}
${
EXTERNAL_PROJECT_OPTIONAL_CMAKE_ARGS
}
DEPENDS zlib
)
####################################################################################
##################################### SETUPTOOLS ###################################
SET
(
SETUPTOOLS_SOURCES_DIR
${
PYTHON_SOURCES_DIR
}
/setuptools
)
ExternalProject_Add
(
setuptools
${
EXTERNAL_PROJECT_LOG_ARGS
}
PREFIX
${
SETUPTOOLS_SOURCES_DIR
}
URL
"https://pypi.python.org/packages/source/s/setuptools/setuptools-18.3.2.tar.gz"
BUILD_IN_SOURCE 1
PATCH_COMMAND
""
UPDATE_COMMAND
""
CONFIGURE_COMMAND
""
INSTALL_COMMAND
""
BUILD_COMMAND env
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py install
DEPENDS python zlib
)
#####################################################################################
##################################### SIX ###########################################
SET
(
SIX_SOURCES_DIR
${
PYTHON_SOURCES_DIR
}
/six
)
ExternalProject_Add
(
six
${
EXTERNAL_PROJECT_LOG_ARGS
}
PREFIX
${
SIX_SOURCES_DIR
}
URL https://pypi.python.org/packages/source/s/six/six-1.10.0.tar.gz
BUILD_IN_SOURCE 1
PATCH_COMMAND
""
UPDATE_COMMAND
""
CONFIGURE_COMMAND
""
INSTALL_COMMAND
""
BUILD_COMMAND env
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py install
DEPENDS python setuptools
)
#####################################################################################
##################################### CYTHON ########################################
SET
(
CYTHON_SOURCES_DIR
${
PYTHON_SOURCES_DIR
}
/cython
)
ExternalProject_Add
(
cython
${
EXTERNAL_PROJECT_LOG_ARGS
}
PREFIX
${
CYTHON_SOURCES_DIR
}
URL https://github.com/cython/cython/archive/0.25.2.tar.gz
GIT_TAG 0.25.2
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND
""
PATCH_COMMAND
""
UPDATE_COMMAND
""
INSTALL_COMMAND
""
BUILD_COMMAND env
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py install
DEPENDS python
)
####################################################################################
##################################### NUMPY ########################################
SET
(
NUMPY_SOURCES_DIR
${
PYTHON_SOURCES_DIR
}
/numpy
)
SET
(
NUMPY_TAG_VERSION
"v1.11.3"
)
SET
(
NUMPY_VERSION
"1.11.3"
)
SET
(
EGG_NAME
""
)
SET
(
PYTHON_NUMPY_INCLUDE_DIR
""
)
IF
(
WIN32
)
SET
(
EGG_NAME
"numpy-
${
NUMPY_VERSION
}
-py2.7-
${
HOST_SYSTEM
}
.egg"
)
ELSE
(
WIN32
)
IF
(
APPLE
)
SET
(
EGG_NAME
"numpy-
${
NUMPY_VERSION
}
-py2.7-
${
HOST_SYSTEM
}
-
${
MACOS_VERSION
}
"
)
ELSE
(
APPLE
)
SET
(
EGG_NAME
"numpy-
${
NUMPY_VERSION
}
-py2.7-linux"
)
SET
(
EGG_NAME
"numpy-
${
NUMPY_VERSION
}
-py2.7-linux"
)
ENDIF
(
APPLE
)
FOREACH
(
suffix x86_64 intel fat64 fat32 universal
)
LIST
(
APPEND PYTHON_NUMPY_INCLUDE_DIR
${
PY_SITE_PACKAGES_PATH
}
/
${
EGG_NAME
}
-
${
suffix
}
.egg/numpy/core/include
)
ENDFOREACH
()
ENDIF
(
WIN32
)
LIST
(
APPEND EXTERNAL_PROJECT_OPTIONAL_CMAKE_ARGS
-DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON
)
ENDIF
()
SET
(
EXTERNAL_PROJECT_OPTIONAL_CMAKE_CACHE_ARGS
)
# Force Python build to "Release".
IF
(
CMAKE_CONFIGURATION_TYPES
)
SET
(
SAVED_CMAKE_CFG_INTDIR
${
CMAKE_CFG_INTDIR
}
)
SET
(
CMAKE_CFG_INTDIR
"Release"
)
ELSE
()
LIST
(
APPEND EXTERNAL_PROJECT_OPTIONAL_CMAKE_CACHE_ARGS
-DCMAKE_BUILD_TYPE:STRING=Release
)
ENDIF
()
ExternalProject_Add
(
python
${
EXTERNAL_PROJECT_LOG_ARGS
}
GIT_REPOSITORY
"https://github.com/python-cmake-buildsystem/python-cmake-buildsystem.git"
PREFIX
${
PYTHON_SOURCES_DIR
}
UPDATE_COMMAND
""
CMAKE_ARGS -DPYTHON_VERSION=2.7.12
CMAKE_ARGS -DCMAKE_CXX_COMPILER=
${
CMAKE_CXX_COMPILER
}
CMAKE_ARGS -DCMAKE_C_COMPILER=
${
CMAKE_C_COMPILER
}
CMAKE_CACHE_ARGS
-DCMAKE_INSTALL_PREFIX:PATH=
${
PYTHON_INSTALL_DIR
}
-DBUILD_LIBPYTHON_SHARED:BOOL=OFF
-DUSE_SYSTEM_LIBRARIES:BOOL=OFF
-DZLIB_ROOT:FILEPATH=
${
ZLIB_ROOT
}
-DZLIB_INCLUDE_DIR:PATH=
${
ZLIB_INCLUDE_DIR
}
-DZLIB_LIBRARY:FILEPATH=
${
ZLIB_LIBRARIES
}
-DDOWNLOAD_SOURCES:BOOL=ON
-DINSTALL_WINDOWS_TRADITIONAL:BOOL=OFF
${
EXTERNAL_PROJECT_OPTIONAL_CMAKE_CACHE_ARGS
}
${
EXTERNAL_PROJECT_OPTIONAL_CMAKE_ARGS
}
DEPENDS zlib
)
SET
(
py_env
PATH=
${
PYTHON_INSTALL_DIR
}
/bin
PYTHONHOME=
${
PYTHON_INSTALL_DIR
}
PYTHONPATH=
${
PYTHON_INSTALL_DIR
}
/lib:
${
PYTHON_INSTALL_DIR
}
/lib/python2.7:
${
PY_SITE_PACKAGES_PATH
}
)
####################################################################################
##################################### SETUPTOOLS ###################################
SET
(
SETUPTOOLS_SOURCES_DIR
${
PYTHON_SOURCES_DIR
}
/setuptools
)
ExternalProject_Add
(
setuptools
${
EXTERNAL_PROJECT_LOG_ARGS
}
PREFIX
${
SETUPTOOLS_SOURCES_DIR
}
URL
"https://pypi.python.org/packages/source/s/setuptools/setuptools-18.3.2.tar.gz"
BUILD_IN_SOURCE 1
PATCH_COMMAND
""
UPDATE_COMMAND
""
CONFIGURE_COMMAND
""
INSTALL_COMMAND
""
BUILD_COMMAND env
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py install
DEPENDS python zlib
)
#####################################################################################
##################################### SIX ###########################################
SET
(
SIX_SOURCES_DIR
${
PYTHON_SOURCES_DIR
}
/six
)
ExternalProject_Add
(
six
${
EXTERNAL_PROJECT_LOG_ARGS
}
PREFIX
${
SIX_SOURCES_DIR
}
URL https://pypi.python.org/packages/source/s/six/six-1.10.0.tar.gz
BUILD_IN_SOURCE 1
PATCH_COMMAND
""
UPDATE_COMMAND
""
CONFIGURE_COMMAND
""
INSTALL_COMMAND
""
BUILD_COMMAND env
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py install
DEPENDS python setuptools
)
#####################################################################################
##################################### CYTHON ########################################
SET
(
CYTHON_SOURCES_DIR
${
PYTHON_SOURCES_DIR
}
/cython
)
ExternalProject_Add
(
cython
${
EXTERNAL_PROJECT_LOG_ARGS
}
PREFIX
${
CYTHON_SOURCES_DIR
}
URL https://github.com/cython/cython/archive/0.25.2.tar.gz
GIT_TAG 0.25.2
BUILD_IN_SOURCE 1
CONFIGURE_COMMAND
""
PATCH_COMMAND
""
UPDATE_COMMAND
""
INSTALL_COMMAND
""
BUILD_COMMAND env
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py install
DEPENDS python
)
####################################################################################
##################################### NUMPY ########################################
SET
(
NUMPY_SOURCES_DIR
${
PYTHON_SOURCES_DIR
}
/numpy
)
SET
(
NUMPY_TAG_VERSION
"v1.11.3"
)
SET
(
NUMPY_VERSION
"1.11.3"
)
SET
(
EGG_NAME
""
)
SET
(
PYTHON_NUMPY_INCLUDE_DIR
""
)
IF
(
WIN32
)
SET
(
EGG_NAME
"numpy-
${
NUMPY_VERSION
}
-py2.7-
${
HOST_SYSTEM
}
.egg"
)
ELSE
(
WIN32
)
IF
(
APPLE
)
SET
(
EGG_NAME
"numpy-
${
NUMPY_VERSION
}
-py2.7-
${
HOST_SYSTEM
}
-
${
MACOS_VERSION
}
"
)
ELSE
(
APPLE
)
SET
(
EGG_NAME
"numpy-
${
NUMPY_VERSION
}
-py2.7-linux"
)
SET
(
EGG_NAME
"numpy-
${
NUMPY_VERSION
}
-py2.7-linux"
)
ENDIF
(
APPLE
)
FOREACH
(
suffix x86_64 intel fat64 fat32 universal
)
LIST
(
APPEND PYTHON_NUMPY_INCLUDE_DIR
${
PY_SITE_PACKAGES_PATH
}
/
${
EGG_NAME
}
-
${
suffix
}
.egg/numpy/core/include
)
ENDFOREACH
()
ENDIF
(
WIN32
)
ExternalProject_Add
(
numpy
${
EXTERNAL_PROJECT_LOG_ARGS
}
GIT_REPOSITORY https://github.com/numpy/numpy.git
GIT_TAG
${
NUMPY_TAG_VERSION
}
CONFIGURE_COMMAND
""
UPDATE_COMMAND
""
PREFIX
${
NUMPY_SOURCES_DIR
}
BUILD_COMMAND env
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py build
INSTALL_COMMAND env
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py install
BUILD_IN_SOURCE 1
DEPENDS python setuptools cython
)
####################################################################################
##################################### WHEEL ########################################
SET
(
WHEEL_SOURCES_DIR
${
PYTHON_SOURCES_DIR
}
/wheel
)
ExternalProject_Add
(
wheel
${
EXTERNAL_PROJECT_LOG_ARGS
}
URL https://pypi.python.org/packages/source/w/wheel/wheel-0.29.0.tar.gz
PREFIX
${
WHEEL_SOURCES_DIR
}
CONFIGURE_COMMAND
""
UPDATE_COMMAND
""
BUILD_COMMAND
""
INSTALL_COMMAND env
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py install
BUILD_IN_SOURCE 1
DEPENDS python setuptools
)
####################################################################################
################################### PROTOBUF #######################################
SET
(
PY_PROTOBUF_SOURCES_DIR
${
PYTHON_SOURCES_DIR
}
/protobuf
)
ExternalProject_Add
(
python-protobuf
${
EXTERNAL_PROJECT_LOG_ARGS
}
URL https://pypi.python.org/packages/e0/b0/0a1b364fe8a7d177b4b7d4dca5b798500dc57a7273b93cca73931b305a6a/protobuf-3.1.0.post1.tar.gz
URL_MD5 38b5fb160c768d2f8444d0c6d637ff91
PREFIX
${
PY_PROTOBUF_SOURCES_DIR
}
BUILD_IN_SOURCE 1
PATCH_COMMAND
""
CONFIGURE_COMMAND
""
BUILD_COMMAND env
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py build
INSTALL_COMMAND env
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py install
DEPENDS python setuptools six
)
####################################################################################
LIST
(
APPEND external_project_dependencies python setuptools six cython wheel python-protobuf numpy
)
ENDIF
(
PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND
)
INCLUDE_DIRECTORIES
(
${
PYTHON_INCLUDE_DIR
}
)
INCLUDE_DIRECTORIES
(
${
PYTHON_NUMPY_INCLUDE_DIR
}
)
ExternalProject_Add
(
numpy
${
EXTERNAL_PROJECT_LOG_ARGS
}
GIT_REPOSITORY https://github.com/numpy/numpy.git
GIT_TAG
${
NUMPY_TAG_VERSION
}
CONFIGURE_COMMAND
""
UPDATE_COMMAND
""
PREFIX
${
NUMPY_SOURCES_DIR
}
BUILD_COMMAND env
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py build
INSTALL_COMMAND env
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py install
BUILD_IN_SOURCE 1
DEPENDS python setuptools cython
)
####################################################################################
##################################### WHEEL ########################################
SET
(
WHEEL_SOURCES_DIR
${
PYTHON_SOURCES_DIR
}
/wheel
)
ExternalProject_Add
(
wheel
${
EXTERNAL_PROJECT_LOG_ARGS
}
URL https://pypi.python.org/packages/source/w/wheel/wheel-0.29.0.tar.gz
PREFIX
${
WHEEL_SOURCES_DIR
}
CONFIGURE_COMMAND
""
UPDATE_COMMAND
""
BUILD_COMMAND
""
INSTALL_COMMAND env
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py install
BUILD_IN_SOURCE 1
DEPENDS python setuptools
)
####################################################################################
################################### PROTOBUF #######################################
SET
(
PY_PROTOBUF_SOURCES_DIR
${
PYTHON_SOURCES_DIR
}
/protobuf
)
ExternalProject_Add
(
python-protobuf
${
EXTERNAL_PROJECT_LOG_ARGS
}
URL https://pypi.python.org/packages/e0/b0/0a1b364fe8a7d177b4b7d4dca5b798500dc57a7273b93cca73931b305a6a/protobuf-3.1.0.post1.tar.gz
URL_MD5 38b5fb160c768d2f8444d0c6d637ff91
PREFIX
${
PY_PROTOBUF_SOURCES_DIR
}
BUILD_IN_SOURCE 1
PATCH_COMMAND
""
CONFIGURE_COMMAND
""
BUILD_COMMAND env PATH=
${
PROTOBUF_INSTALL_DIR
}
/bin:$ENV{PATH}
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py build
INSTALL_COMMAND env PATH=
${
PROTOBUF_INSTALL_DIR
}
/bin:$ENV{PATH}
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py install
DEPENDS python setuptools six
)
LIST
(
APPEND external_project_dependencies python setuptools six cython numpy wheel python-protobuf
)
MESSAGE
(
"[Paddle] Python Executable:
${
PYTHON_EXECUTABLE
}
"
)
MESSAGE
(
"[Paddle] Python Include:
${
PYTHON_INCLUDE_DIRS
}
"
)
MESSAGE
(
"[Paddle] Python Libraries:
${
PYTHON_LIBRARIES
}
"
)
paddle/api/CMakeLists.txt
浏览文件 @
c016758f
...
...
@@ -94,17 +94,19 @@ add_dependencies(python_api_wheel python_swig_sources
paddle_cuda
)
if
(
WITH_TESTING
)
SET
(
PIP_SOURCES_DIR
${
PYTHON_SOURCES_DIR
}
/pip
)
ExternalProject_Add
(
pip
${
EXTERNAL_PROJECT_LOG_ARGS
}
GIT_REPOSITORY https://github.com/pypa/pip.git
GIT_TAG 9.0.1
PREFIX
${
PIP_SOURCES_DIR
}
CONFIGURE_COMMAND
""
BUILD_COMMAND
""
INSTALL_COMMAND env
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py install
BUILD_IN_SOURCE 1
DEPENDS python setuptools python_api_wheel
)
IF
(
NOT PY_PIP_FOUND
)
SET
(
PIP_SOURCES_DIR
${
PYTHON_SOURCES_DIR
}
/pip
)
ExternalProject_Add
(
pip
${
EXTERNAL_PROJECT_LOG_ARGS
}
GIT_REPOSITORY https://github.com/pypa/pip.git
GIT_TAG 9.0.1
PREFIX
${
PIP_SOURCES_DIR
}
CONFIGURE_COMMAND
""
BUILD_COMMAND
""
INSTALL_COMMAND env
${
py_env
}
${
PYTHON_EXECUTABLE
}
setup.py install
BUILD_IN_SOURCE 1
DEPENDS python setuptools python_api_wheel
)
ENDIF
()
add_subdirectory
(
test
)
endif
()
paddle/scripts/travis/before_install.osx.sh
浏览文件 @
c016758f
#!/bin/bash
brew update
brew tap homebrew/science
brew
install
openblas md5sha1sum
brew
install
python
sudo
pip
install
--upgrade
protobuf
brew
install
swig openblas md5sha1sum protobuf
paddle/scripts/travis/build_and_test.sh
浏览文件 @
c016758f
#!/bin/bash
source
./common.sh
python
-c
'import pip; print(pip.pep425tags.get_supported())'
if
[[
"
$TRAVIS_OS_NAME
"
==
"osx"
]]
;
then
CMAKE_EXTRA
=
"-DWITH_SWIG_PY=OFF"
else
CMAKE_EXTRA
=
"-DWITH_SWIG_PY=ON"
fi
cmake ..
-DWITH_GPU
=
OFF
-DWITH_DOC
=
OFF
-DWITH_TESTING
=
ON
-DON_TRAVIS
=
ON
-DON_COVERALLS
=
ON
${
CMAKE_EXTRA
}
NPROC
=
1
if
[[
"
$TRAVIS_OS_NAME
"
==
"linux"
]]
;
then
export
PYTHONPATH
=
/opt/python/2.7.12/lib/python2.7/site-packages
export
PYTHONHOME
=
/opt/python/2.7.12
export
PATH
=
/opt/python/2.7.12/bin:
${
PATH
}
cmake ..
-DON_TRAVIS
=
ON
-DON_COVERALLS
=
ON
-DCOVERALLS_UPLOAD
=
ON
NRPOC
=
`
nproc
`
make
-j
$NPROC
make coveralls
sudo
make
install
elif
[[
"
$TRAVIS_OS_NAME
"
==
"osx"
]]
;
then
export
PYTHONPATH
=
/usr/local/lib/python2.7/site-packages
cmake ..
-DON_TRAVIS
=
ON
-DON_COVERALLS
=
ON
-DCOVERALLS_UPLOAD
=
ON
-DWITH_SWIG_PY
=
ON
NPROC
=
`
sysctl
-n
hw.ncpu
`
make
-j
$NPROC
env
CTEST_OUTPUT_ON_FAILURE
=
1 make
test
ARGS
=
"-j
$NPROC
"
sudo
make
install
sudo
paddle version
fi
paddle/utils/PythonUtil.cpp.in
浏览文件 @
c016758f
...
...
@@ -195,8 +195,10 @@ extern const char enable_virtualenv_py[];
}
void initPython(int argc, char** argv) {
#ifndef PADDLE_NO_PYTHON
char PythonHome[] = "@PYTHON_INSTALL_DIR@"; // NOLINT
Py_SetPythonHome(PythonHome);
char pyHome[] = "@PYTHON_INSTALL_DIR@"; // NOLINT
if (strlen(pyHome)) {
Py_SetPythonHome(pyHome);
}
Py_SetProgramName(argv[0]);
Py_Initialize();
PySys_SetArgv(argc, argv);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录