Unity 集成 Python 2.7 环境

原因

Unity 使用 protobuf 来做网络传输和数据配置,一直使用 bat 的方式来调用生成数据,但是在 mac上无法使用,非常不便。跨平台的工具语言能够更方便进行进行不同平台的操作。使用 bat 的方式,代码难写,且难以复用。但是 Windows 下没有提供 Python 环境。Mac 平台已经自带了 Python 环境,所以只需在 Windows 环境集成 Python 环境即可。

方案

安装WinPython-64bit-2.7.13.1Zero.exe,将文件夹拷到工程目录下。
注意,调用 Python 的时候,要带参数-E,以免跟系统安装的 Python 进行混淆。

使用举例

安装模块命令行,例如:

tools\WinPython\python>Scripts\pip.exe install protobuf==2.6.1

将 protobuf 的生成修改成 Python 方式,注意不同平台的调用有所不同:

#! /usr/bin/env python
#coding=utf-8
 
import sys
import os
import traceback
import subprocess
 
class ProtogenOperator:
    def __init__(self):
        self.isWin = False
        toolPath = "../../tools/Protobuf/"
        self.monoPath = "/Library/Frameworks/Mono.framework/Versions/Current/bin/mono"
        if sys.platform == "win32" :
            toolPath= "..\\..\\tools\\Protobuf\\"
            self.isWin = True
 
        self.protogenPath = toolPath
 
    def DoProtogen(self, argValue):
        try :
            if self.isWin:
                command = self.protogenPath + "protogen " + argValue
                os.system(command)
            else:
                p = subprocess.Popen(self.monoPath + " " + toolPath + "protogen.exe " + argValue, shell = False)
                p.wait()
        except BaseException, e :
            print "protogen failed!"
            return False
 
        return True
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值