我有一个 C++ 项目,我已经生成了使用 SWIG 的 Python 绑定。我现在尝试通过添加安装操作来完成该项目的 CMake 文件。但是每当我完成安装并尝试调用我的函数时,我都会收到一条错误消息,指出foo has no attribute bar().
这与 Python 不知道.so绑定所依赖的文件在哪里有关。如果两者foo.py都_foo.so在同一目录中,我可以完美地使用绑定。我正在努力弄清楚如何以可移植.so的方式“安装”Python 绑定及其依赖项。
显然,我可以将安装路径导出到.so,LD_LIBRARY_PATH但这对于必须有正确解决方案的问题来说似乎是一个棘手的解决方案。
我的CMakeLists.txt。我已经删除了与 C++ lib 编译相关的部分RTK:
# Project
##
# TODO this actually needs 3.3+
cmake_minimum_required(VERSION 2.6)
project(RTKLIB)
FIND_PACKAGE(SWIG REQUIRED)
INCLUDE(${SWIG_USE_FILE})
FIND_PACKAGE(PythonLibs 3 REQUIRED)
INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
find_program(PYTHON "python3" REQUIRED)
include(GNUInstallDirs)
# Variable declarations
##
# Define this directory
set(RTKLIB_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
# Define the build dir
set(RTKLIB_BIN_DIR "${RTKLIB_ROOT}/build") …Run Code Online (Sandbox Code Playgroud) 我正在一个Django项目中,在该项目中,用户将根据位置获得自定义信息。为此,我使用他们的IP地址来标识他们的国家。为了使数据库中的数据保持一致,我需要确保我具有正确的IP。
我知道使用META通常会使用客户端浏览器发送的标头,但我不知道这是否适用于该REMOTE_ADDR属性。
TLDR:HttpRequest.get_host()和之间有什么区别HttpRequest.META['REMOTE_ADDR']?