Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #104838 > unrolled thread
| Started by | steven.flolid@gmail.com |
|---|---|
| First post | 2016-03-14 09:52 -0700 |
| Last post | 2016-03-14 18:49 -0700 |
| Articles | 2 — 2 participants |
Back to article view | Back to comp.lang.python
Embedding Python into C set up issues steven.flolid@gmail.com - 2016-03-14 09:52 -0700
Re: Embedding Python into C set up issues robert.snoeberger@gmail.com - 2016-03-14 18:49 -0700
| From | steven.flolid@gmail.com |
|---|---|
| Date | 2016-03-14 09:52 -0700 |
| Subject | Embedding Python into C set up issues |
| Message-ID | <db3c8a72-1b47-4460-822d-a1be169d6637@googlegroups.com> |
Good morning!
I have been working with Python for the last few months. I have created a script that I want to embed into a C++ environment, specifically CDT for eclipse. I have read the https://docs.python.org/2/extending/index.html and understand the ideas and differences between the two languages.
However, I am having great trouble getting Py_Initialize() to work in the both CDT and Visual Studio 2015. I have as a starting point a simple C program that prints hello world then calls py_initialize and then prints another line of text to the screen. Calling Py_initialize causes the script to exit with exit code 1. I am at a loss as to why this is happening. I have read the documentation about Py_Initialize() calling exit when it should raise an error so I understand it may be difficult to debug this issue.
Here are the details for my system:
Windows 7 64bit running python 2.7.11 using Visual Studio Community Edition 2015.
Python is installed in the default folder of C:\Python27 and is the only copy of python installed.
Path is has C:\Python27 and C:\Python27\DLLs appended to it in that order.
PYTHONPATH is set to C:\python27lib
In visual studio:
C++/Additional Include Directories has C:\Python27\include appended to it
Linker/Additional Library Directories has C:\Python27\libs appended to it
Linker/Additional Dependencies has python27.lib appended to it
Here is the source code:
#include <Python.h>
#include <stdio.h>
int main() {
printf("hello world");
Py_Initialize();
printf("hello world please");
}
I feel like I must be missing something, I just don't know what it is. Any documentation or help would be much appreciated.
Sincerely,
Steven Flolid
[toc] | [next] | [standalone]
| From | robert.snoeberger@gmail.com |
|---|---|
| Date | 2016-03-14 18:49 -0700 |
| Message-ID | <78237132-5751-458d-9042-e14977da087f@googlegroups.com> |
| In reply to | #104838 |
> > However, I am having great trouble getting Py_Initialize() to work in the both CDT and Visual Studio 2015. I have as a starting point a simple C program that prints hello world then calls py_initialize and then prints another line of text to the screen. Calling Py_initialize causes the script to exit with exit code 1. I am at a loss as to why this is happening. I have read the documentation about Py_Initialize() calling exit when it should raise an error so I understand it may be difficult to debug this issue. > The documentation for Py_Initialize says, "There is no return value; it is a fatal error if the initialization fails." Initialization is failing in your C program, probably because it isn't able to locate a module needed for startup, such as site or encodings. Py_Initialize doc: https://docs.python.org/2/c-api/init.html#c.Py_Initialize You probably need to specify the "home" directory, either with the environment variable PYTHONHOME or with Py_SetPythonHome. For your system, the directory should be C:\Python27.
[toc] | [prev] | [standalone]
Back to top | Article view | comp.lang.python
csiph-web