首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Cmake似乎没有使用它确认使用的Python解释器

Cmake似乎没有使用它确认使用的Python解释器
EN

Stack Overflow用户
提问于 2018-07-31 04:20:29
回答 2查看 1.1K关注 0票数 0

我有以下CMakeLists.txt文件,它被指示使用Python4.4

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.2 FATAL_ERROR)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/../cmake/")

project(aConfigd VERSION 1.0)
string(TOLOWER aConfigd project_id)

find_package(PythonInterp 3.4 REQUIRED)

include(FindPythonInterp)
set(PYTHON ${PYTHON_EXECUTABLE})
message(STATUS "\${PYTHON_EXECUTABLE} == ${PYTHON_EXECUTABLE}")
set(pkgdatadir /usr/share/configd)
set(configdir /etc/amy)
set(SONARCONFIGID_SOURCE_DIR etc/configd)
set(SRC_DIR configd/src/)

include(common)
#        "${SRC_DIR}/systemd_client.py"
#        "${SRC_DIR}/amyconfig_service.py"
        "${SRC_DIR}/__init__.py"
        "${SRC_DIR}/main.py"
        "${SRC_DIR}/application.py"
        DESTINATION ${pkgdatadir}/configd/
)

#general
set(CPACK_PACKAGE_NAME "a-config")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "a-config-manager")
set(CPACK_PACKAGE_DESCRIPTION "a-config-manager")

# redhat
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION 
      /etc/amy
      )

include(cpack)

事实上,它证实了${PYTHON_EXECUTABLE} == /usr/bin/python3.4 (参见下面的第四行):

代码语言:javascript
复制
$ make clean ; cmake -DCMAKE_BUILD_TYPE=Release -DSHORT_VERSION=NO -DCUSTOMER=NO .. ;  make -j12 ; make package
-- Found PythonInterp: /usr/bin/python3.4 (found suitable version "3.4.5", minimum required is "3.4") 
-- Found PythonInterp: /usr/bin/python3.4 (found version "3.4.5") 
-- ${PYTHON_EXECUTABLE} == /usr/bin/python3.4
-- Build Type: Release
-- Detected distribution: rhel fedora
-- Detected aConfigd version: 2.3.0-3030-gf7733cf659
-- Detected distribution: rhel fedora
-- Configuring done
-- Generating done
-- Build files have been written to: /local/raid0/git/amy/aConfig/build
Run CPack packaging tool...
CPack: Create package using RPM
CPack: Install projects
CPack: - Run preinstall target for: aConfigd
CPack: - Install project: aConfigd
CPack: Create package
CPackRPM:Warning: CPACK_SET_DESTDIR is set (=ON) while requesting a relocatable package (CPACK_RPM_PACKAGE_RELOCATABLE is set): this is not supported, the package won't be relocatable.
CPackRPM: Will use GENERATED spec file: /local/raid0/git/my/aConfig/build/_CPack_Packages/Linux/RPM/SPECS/a-config.spec
CPack: - package: /local/raid0/git/my/aConfig/build/a-config-2.3.0-3030-gf7733cf659.el7.my.x86_64.rpm generated.
$ 

但是,如果我取消对"${SRC_DIR}/systemd_client.py"行的注释,则会得到以下错误:

代码语言:javascript
复制
Compiling /local/raid0/git/my/aConfig/build/_CPack_Packages/Linux/RPM/a-config-2.3.0-3030-gf7733cf659.el7.my.x86_64/usr/share/configd/configd/systemd_client.py ...
  File "/usr/share/configd/configd/systemd_client.py", line 21
    def __init__(self, systemd_proxy:Gio.DBusProxy):
                                    ^
SyntaxError: invalid syntax

Isn def __init__(self, systemd_proxy:Gio.DBusProxy): a valid Python 3.4 语法?

如果是,为什么Cmake会抱怨?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51601742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档