
不过使用Python难免需要用到多个Python版本,讲一下如何在VS Code中进行配置。
系统中Python多版本管理
之前一直用Anaconda,直接用conda创建并管理多版本Python。最近用着总出现一些莫名其妙的问题,于是卸载了直接换回了官方“纯净版”。
在默认使用Python3.5的情况下,系统中环境变量指向Python3.5,同时在(假如)“C:\Python27”目录下装有Python2.7。可以在Python3.5的根目录中创建名为py2.bat的文件,文件内容:
@ echo off
C:\Python27\Python.exe %*
这样直接在命令行中输入py2就可以使用Python2.7开发环境,输入Python则是默认的Python3.5开发环境。文件名称py2可以更换成个人习惯的名称,命令行中输入相应名称即可(参考 ART^{9} 的一篇文章)。
安装第三方库的话,以下命令安装到默认Python开发环境:
pip install somelib
安装到Python2开发环境:
py2 -m pip install somelib
VS Code配置Python开发环境
使用VS Code打开一个文件夹,这个文件夹在VS Code中便是一个工作空间。VS Code会在文件夹中自动创建一个.vscode文件夹,里面是一些配置文件。
VS code setting
在.vscode中有一个tasks.json文件,这个文件就是进行配置运行环境的,最简单和常用的配置为(参考 xin053 的一篇文章):
{
"version": "0.1.0",
"command": "python",
"isShellCommand": true,
"args": ["${file}"],
"showOutput": "always"
}
其中command是python可执行文件的路径,在添加的系统环境变量中之后可以直接写python,否则需要给出完整路径。args就是command运行的参数,即当前文件。
在安装上述方法配置了Python双版本运行环境后,对tasks.json进行简单修改就可以了:
{
"version": "0.1.0",
// 在Linux和Mac系统中使用"sh".
"command": "cmd",
"isShellCommand": true,
// global args
// 在Linux和Mac系统中使用"-c"(注意大小写).
"args": ["/C"],
"showOutput": "always",
"suppressTaskName": false,
"tasks": [
{
"taskName": "py2",
// task args
"args": ["${file}"],
},
{
"taskName": "python",
"args": ["${file}"]
}
]
}
注意suppressTaskName属性,VS Code官网上的解释为:
If suppressTaskName is true, the command line is command 'global args' 'task args'.
If suppressTaskName is false, it is command 'global args' taskName 'task args'.
也就是说,当把suppressTaskName = false的时候,taskName属性也被当做command line的参数传入了。因此,当选择不同的task的时候,相当于在命令行(或终端)中执行了相应的py2 file.py或python file.py。效果相当棒。
F1输入run task,选择py2。
Run task
Choose tas
我用的vc6.0,cximage599c_full_unicode,当时装的时候资料找了一堆,弄了好久才好。下面是复制的,还不行的话换个版本试试,一定要要专用版本的第一步:下载CxImage,Url如下
(它的作者是: Davide Pizzolato ,主页上就有下载)
(codeproject上需要注册,但是免费的)
第二步:编译当下来的工程
我用的是Visual Studio2005,打开工程的时候需要转换一下。注意工程所在的文件夹不要是只读的,否则编译会出错。编译的时间比较长,要有耐心。
编译成功后,就可以运行它里面的demo工程了。
第三步:建立自己的Windows 32控制台控制程序
1. 从CxImage工程中复制下列文件到工程目录:xfile.h、ximacfg.h、ximadef.h、ximage.h、xiofile.h、xmemfile.h
2. 从CxImage工程中复制下列文件到工程目录lib文件夹下:png.lib、jpeg.lib、zlib.lib、tiff.lib、jasper.lib、cximage.lib
3. 设置工程的属性如下:
配置属性 -->常规 -->字符集 -->使用多字节字符集
配置属性 -->链接器 -->输入 -->附加依赖项 -->../lib/cximage.lib ../lib/jasper.lib ../lib/Jpeg.lib ../lib/png.lib ../lib/Tiff.lib ../lib/zlib.lib
配置属性 -->C/C++ -->代码生成 -->运行时库 -->多线程DLL(/MD)
第四部:开始编码(此段代码的主要作用是将bmp文件转换成jpg文件),写完后直接运行就可以在工程目录产生一个文件名称为image40.jpg的jpg文件:)
#include "stdafx.h"
#include "ximage.h"
int _tmain(int argc, _TCHAR* argv[])
{
CxImage image // 定义一个CxImage对象
// 从bmp文件转换为jpg文件(bmp ->jpg)
image.Load("aa.bmp", CXIMAGE_FORMAT_BMP) //先装载bmp文件,需要指定文件类型。aa.bmp是一个已存在的bmp文件
// 判断加载的bmp文件是否存在。
if (image.IsValid())
{
// Returns true if the image has 256 colors and a linear grey scale palette.
if(!image.IsGrayScale())
{
image.IncreaseBpp(24) // param nbit: 4, 8, 24
}
image.SetJpegQuality(40) // 设置图像的压缩质量参数(从0到100,数值越大,质量越高)
image.Save("image40.jpg",CXIMAGE_FORMAT_JPG) // 把压缩后的图像以jpg文件类型保存起来。
}
return 0
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)