Windows下面制作绿色版的Python环境
来源:互联网 发布:网络上mc是什么意思啊 编辑:程序博客网 时间:2024/06/06 04:14
首先在某个地方安装安装版的Python,比如虚拟机里,我装的是“python-2.7.1.msi”,然后把安装目录整个拷过来备用。之所以安装版无法做成绿色版,是因为其中的三个主要文件“python.exe”、“pythonw.exe”和“python27.dll(安装在system32目录中)”都依赖于“msvcr90.dll”这个非常恶心的东西。我们需要把它绿色化。
下载并解压缩源代码包,我下载的是“Python-2.7.1.tar.bz2”,然后进入“PCbuild”目录,用Visual Studio 2008打开“pcbuild.sln”文件,注意,“PC”目录下面还有一些早期版本Visual Studio的工程文件,我试过VC6的,根本无法编译,其它没试,不过既然官方都用2008的,那我们也跟着用就是了。
我的Visual Studio 2008装了SP1,编译其中的“python”、“pythoncore”和“pythonw”三个项目得到“python.exe”、“pythonw.exe”和“python27.dll”三个文件,替换备用目录中同名的文件,然后把Visual Studio 2008安装目录中的“VC\redist\x86\Microsoft.VC90.CRT”目录中的“msvcr90.dll”和“Microsoft.VC90.CRT.manifest”也拷到备用目录中,再把备用目录整个拷到一个干净的环境中。执行python.exe,却出错了:无法启动!用Depends工具观察,报依赖错误!
回过头检查编译生成的manifest文件才发现,原来虽然Visual Studio 2008装了SP1,按理CRT已经升级到了9.0.30729.4148版,但是manifest里链接的还是9.0.21022.8版!所以只能将“python”、“pythoncore”和“pythonw”三个项目的属性作如下设置:
然后重新编译后,manifest文件就独立出来而不是嵌在程序中了,最后得到“python.exe”、“pythonw.exe”、“python27.dll”和相应的manifest文件“python.exe.manifest”、“pythonw.exe.manifest”、“python27.dll.manifest”,整个拷到备用目录中替换原来的文件。
用文本编辑器打开“python.exe.manifest”、“pythonw.exe.manifest”、“python27.dll.manifest”和“Microsoft.VC90.CRT.manifest”四个manifest文件,把前三个文件中的“assemblyIdentity”中的“version”和“publicKeyToken”修改成和“Microsoft.VC90.CRT.manifest”保持一致
OK!再次执行python.exe,一切正常了!
最后在备用目录中新建一个批处理文件“console.bat”,内容为:
@echo off
cd /d %~dp0
set PATH=%CD%;%PATH%
start cmd.exe
以后直接执行该批处理文件就能得到一个设置好环境变量的Shell了。
下载并解压缩源代码包,我下载的是“Python-2.7.1.tar.bz2”,然后进入“PCbuild”目录,用Visual Studio 2008打开“pcbuild.sln”文件,注意,“PC”目录下面还有一些早期版本Visual Studio的工程文件,我试过VC6的,根本无法编译,其它没试,不过既然官方都用2008的,那我们也跟着用就是了。
我的Visual Studio 2008装了SP1,编译其中的“python”、“pythoncore”和“pythonw”三个项目得到“python.exe”、“pythonw.exe”和“python27.dll”三个文件,替换备用目录中同名的文件,然后把Visual Studio 2008安装目录中的“VC\redist\x86\Microsoft.VC90.CRT”目录中的“msvcr90.dll”和“Microsoft.VC90.CRT.manifest”也拷到备用目录中,再把备用目录整个拷到一个干净的环境中。执行python.exe,却出错了:无法启动!用Depends工具观察,报依赖错误!
回过头检查编译生成的manifest文件才发现,原来虽然Visual Studio 2008装了SP1,按理CRT已经升级到了9.0.30729.4148版,但是manifest里链接的还是9.0.21022.8版!所以只能将“python”、“pythoncore”和“pythonw”三个项目的属性作如下设置:
然后重新编译后,manifest文件就独立出来而不是嵌在程序中了,最后得到“python.exe”、“pythonw.exe”、“python27.dll”和相应的manifest文件“python.exe.manifest”、“pythonw.exe.manifest”、“python27.dll.manifest”,整个拷到备用目录中替换原来的文件。
用文本编辑器打开“python.exe.manifest”、“pythonw.exe.manifest”、“python27.dll.manifest”和“Microsoft.VC90.CRT.manifest”四个manifest文件,把前三个文件中的“assemblyIdentity”中的“version”和“publicKeyToken”修改成和“Microsoft.VC90.CRT.manifest”保持一致
OK!再次执行python.exe,一切正常了!
最后在备用目录中新建一个批处理文件“console.bat”,内容为:
@echo off
cd /d %~dp0
set PATH=%CD%;%PATH%
start cmd.exe
以后直接执行该批处理文件就能得到一个设置好环境变量的Shell了。
- Windows下面制作绿色版的Python环境
- Windows下面制作绿色版的Python环境
- Windows下面制作绿色版的Python
- python windows下面环境配置
- windows下面的python的MySQLdb环境安装配置
- windows和linux下面 搭建python的环境
- Windows下Python绿色版
- myeclipse6绿色版的制作
- 制作自己的绿色版IE8
- 制作自己的MSDN2001OCT绿色版
- Windows下搭建NodeJS绿色版开发环境
- 使用WinRAR制作一个软件的绿色版
- caffe学习系列:制作自己的图片的leveldb(python,windows环境下)
- windows 环境下面nginx的安装与配置
- Lisp学习--Windows下面的开发环境搭建
- windows下面的ReactNative环境搭建以及挖坑
- Windows系统下面安装(Python)的setuptools的步骤
- Windows下面查看Python帮助
- Servlet 多线程问题的研究
- 一日一点RakNet(22)--Secure Connections
- 关于数据库中的JOIN的用法学习
- equals,== 的用法以及String中的intern()的用法收藏
- 线程开发之多线程之间的通讯实现
- Windows下面制作绿色版的Python环境
- 音频的差分与单端输出差别
- 关于调制、载波那点事
- 第五周实验报告 任务二
- Android 中的 framebuffer
- jQuery源码分析(版本1.6.1)___属性操作
- 微软BI系统架构设计
- 融合
- 高性能Web服务器Nginx的配置与部署研究(3)Nginx的请求处理机制