1.去主页下载源代码项目

2.编译下载下来的项目

3.新建项目填入下面代码

// pythonIncludeTest.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include <Python.h> #pragma comment(lib, "python33.lib")
#pragma warning(disable:4996)
int _tmain(int argc, _TCHAR* argv[])
{ Py_SetProgramName(argv[]);
Py_SetPythonHome(L"G://SoftProject/cPython/pythonIncludeTest/Debug/");
Py_InitializeEx(); FILE * fp = NULL;
fp = fopen("G://SoftProject/cPython/pythonIncludeTest/Debug/main.py", "r"); if (fp == NULL)
{
return ;
}
PyRun_SimpleFile(fp, "main.py"); //PyRun_SimpleString("import sys\n"
// "print(sys.getfilesystemencoding())\n");
Py_Finalize();
scanf("exit");
return ;
}

4.添加包含目录和库目录(项目上右键,属性,配置属性,VC++目录)

包含目录指向源码的include目录,库目录指向PCbuild目录(要事先编译成功PCbuild目录就会有lib文件)

5.拷贝源码文件夹下的python33.dll(debug版是python33_d.dll)和Lib文件夹到当前目录,如果用到如ctypes等需要pyd的功能,还要编译该功能的对应项目,并拷贝相应的pyd文件到程序所在目录

python 会自动导入当先执行文件夹下的Lib文件夹下的文件,并且会根据模块如ctypes去当前文件夹找pyd文件如,ctypes_d.pyd

导入压缩版类库的代码版本:

// pythonIncludeTest.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include <Python.h> #pragma comment(lib, "python33.lib")
#pragma warning(disable:4996)
int _tmain(int argc, _TCHAR* argv[])
{ Py_NoSiteFlag=;
Py_SetProgramName(argv[]);
Py_SetPythonHome(L"G://SoftProject/cPython/pythonIncludeTest/Debug/");
Py_InitializeEx(); char pycmd[]; // temporary buffer for forged Python script lines
snprintf(
pycmd,
sizeof(pycmd),
"import sys; sys.path = ['%s','%s/Lib']",
"G://SoftProject/cPython/pythonIncludeTest/Debug",
"G://SoftProject/cPython/pythonIncludeTest/Debug"
);
PyRun_SimpleString(pycmd); FILE * fp = NULL;
fp = fopen("G://SoftProject/cPython/pythonIncludeTest/Debug/main.py", "r"); if (fp == NULL)
{
return ;
}
PyRun_SimpleFile(fp, "main.py"); //PyRun_SimpleString("import sys\n"
// "print(sys.getfilesystemencoding())\n");
Py_Finalize();
scanf("exit");
return ;
}

怎么压缩所有源代码:http://docs.python.org/3.3/distutils/sourcedist.html

05-11 19:57