综合了网络上几篇文章,成功配置。 由于我的VS没有x64的环境选项,所以我参考了如下文章进行配置:
http://www.sychzs.cn/article/6c67b1d69395b72786bb1e44.html X64环境搭建
Python3.5我选择安装的版本为64位,32位Python可以不用配置这个
配置完成后就是常规的将Python的include与lib添加到工程引用了,然后在这里我出现了一个Error,提示没有python3.5_d.lib。因为我并不想完整编译Python,选择了直接安装其Win下的安装包,所以我的解决方案为以下两点:
更改pyconfig.h中关于_DEBUG代码块的代码通过添加预编译信息
第一种解决方案:
#ifdef MS_COREDLL
# ifndef Py_BUILD_CORE /* not building the core - must be an ext */
# if defined(_MSC_VER)
/* So MSVC users need not specify the .lib file in
their Makefile (other compilers are generally
taken care of by distutils.) */
# if defined(_DEBUG)
# pragma comment(lib,"python35_d.lib")//将_d去掉即可
# elif defined(Py_LIMITED_API)
# pragma comment(lib,"python3.lib")
# else
# pragma comment(lib,"python35.lib")
# endif /* _DEBUG */
# endif /* _MSC_VER */
# endif /* Py_BUILD_CORE */
#endif /* MS_COREDLL */
第二种方案需要在编译器 预处理器 中添加(属性——配置属性——C/C++——预处理器——预处理器定义)
Py_NO_ENABLE_SHARED
测试代码(代码选自网络):
#include
#include
int main()
{
Py_Initialize();
if ( !Py_IsInitialized() )
{
return -1;
}
PyObject * pModule = NULL;//声明变量
PyObject * pFunc = NULL;// 声明变量
pModule =PyImport_ImportModule("1");//这里是要调用的文件名
pFunc= PyObject_GetAttrString(pModule, "OutPut");//这里是要调用的函数名
PyEval_CallObject(pFunc, NULL);//调用函数
Py_Finalize();//调用Py_Finalize,这个根Py_Initialize相对应的。
return 0;
}
文章资料来自于网络,转侵删。
一、下载python3.5.4源代码
二、下载后解压出来后的结构目录如图所示:
vs编译相关在PCbuild目录下面,然后打开目录如下:
确保电脑装了vs2010,然后双击pcbuild.sln,然后打开vs项目,打开只有如图所示:
然后鼠标右键解决方案->属性:
设置启动项目为python,然后设置生成项为python和pythoncore,如下图所示。
选择项目pythoncore编译的时候发现会报一个Element
然后保存,再次编译,发现有报错,如图所示:
然后找到对应的文件,如图:
posixmodule.c的第9089行,将PyObject的定义放到函数开头,如图所示:
然后再次编译,然后编译成功,接下来我们编译python项目,编译python项目的时候发现也会报Element
设置好之后,发现也编译成功,然后右键运行python项目,如图所示:
然后我们敲一个命令如图:
至此,就编译完成了
我已经整理好的源代码下载地址:
http://www.sychzs.cn/download/lengyue2015/9947738
标签:
1. 首先,肯定是先要把python安装好,直接去官网下载exe版本即可。我下载的版本是3.5
2. 然后下载Anaconda并安装,这两个都比较简单。
3. 在安装theano之前,由于windows安装这些偏底层的扩展时,可能会出现error:Unable to find vcvarsall.bat的错误。所以在电脑里面应该提前下载并安装VS2010/12/13。然后在命令行下根据你的版本执行 SET VS90COMNTOOLS=%VS100COMNTOOLS% 或 SET VS90COMNTOOLS=%VS110COMNTOOLS% 或 SET VS90COMNTOOLS=%VS120COMNTOOLS%配置好即可。或者暴力一点,去D:\Program Files\Anaconda\Lib\distutils找到www.sychzs.cn把其中的代码toolskey="VS%0.f0COMNTOOLS"%version直接修改为toolskey="VS你的版本COMNTOOLS"
4. 要注意python3.5不能直接安装libpython,所以需要用anaconda新建一个环境:conda create -n python34 python=3.4.4
5. 启动这个环境:activate python34。当然这时候可以通过直接修改电脑里的环境变量达到永久设置默认的环境为python34,具体方法:
把这些旧的参数:
修改为:
重启之后,才能生效。
6. 现在就可以在当前的python34环境中安装需要的包了。依次执行以下步骤即可:
conda install mingw libpython
conda install scipy -n python34
pip install theano
pip install keras
7. 如果还想要使用ipython,则需要在python34环境中重新安装ipython:conda install ipython。
标签:
原文地址:http://www.sychzs.cn/Rambler1995/p/5496023.html