国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

linux下安裝protobuf及其使用

阿羅 / 1744人閱讀

摘要:下安裝及在與上的應(yīng)用下載解壓源文件上的版本發(fā)布地址下載解壓進(jìn)入源碼目錄當(dāng)前下載的最后一個(gè)版本請(qǐng)根據(jù)自己的需求下載對(duì)應(yīng)的版本,當(dāng)前操作演示版本為及文件中開(kāi)頭的安裝依賴其他非發(fā)行版的機(jī)器安裝對(duì)應(yīng)的依賴擴(kuò)展即可生成文件如果無(wú)法連接網(wǎng)站修改

linux下安裝protobuf及在python與php上的應(yīng)用 下載解壓源文件 github上的版本發(fā)布地址
https://github.com/protocolbuffers/protobuf/releases
下載&解壓&進(jìn)入源碼目錄
當(dāng)前下載protobuf2的最后一個(gè)版本
wget https://github.com/google/protobuf/archive/v2.6.1.zip

unzip v2.6.1.zip -d ./

cd protobuf-2.6.1
請(qǐng)根據(jù)自己的需求下載對(duì)應(yīng)的版本,當(dāng)前操作演示版本為protobuf2,及.proto文件中syntax = "proto2";開(kāi)頭的
安裝依賴
sudo apt-get install autoconf automake libtool
其他非debian發(fā)行版的機(jī)器安裝對(duì)應(yīng)的依賴擴(kuò)展即可
生成configure文件
./autogen.sh
如果無(wú)法連接google網(wǎng)站

修改

curl http://googletest.googlecode.com/files/gtest-1.5.0.tar.bz2 | tar jx
mv gtest-1.5.0 gtest

 wget https://github.com/google/googletest/archive/release-1.5.0.tar.gz
 tar xzvf release-1.5.0.tar.gz
 mv googletest-release-1.5.0 gtest
也可由手動(dòng)刪除google的連接,直接下載文件并解壓
進(jìn)行configure 查看幫助
./configure -h
指定安裝目錄
./configure prefix=/opt/protobuf2 
安裝
make && make install
權(quán)限不夠的話,要使用sudo
建立命令軟連接
ln -s /opt/protobuf2/bin/protoc /usr/local/bin/protoc
建立軟連接,就可以直接使用protoc命令了
在Python中的應(yīng)用 使用protobuf命令生成.py文件
protoc --proto_path=/home/zhangsan/protobuf --python_out=/home/zhangsan/python /home/zhangsan/protobuf/test.proto
參數(shù)說(shuō)明

參數(shù)proto_path指明.proto文件所在位置,如果不寫(xiě),會(huì)提示以下內(nèi)容:

/home/zhangsan/protobuf/test.proto: File does not reside within any path specified using --proto_path (or -I).  You must specify a --proto_path which encompasses this file.  Note that the proto_path must be an exact prefix of the .proto file names -- protoc is too dumb to figure out when two paths (e.g. absolute and relative) are equivalent (it"s harder than you think).
所以務(wù)必寫(xiě)上.proto文件所在目錄路徑

python_out即.py生成的目錄

最后一個(gè)參數(shù)即為.proto文件的絕對(duì)路徑

生成文件的優(yōu)化修改

這行代碼如果使用IDE,提示無(wú)相關(guān)的類庫(kù)的話,直接刪掉/注釋即可

from google.protobuf import symbol_database as _symbol_database

生成的.py文件中,一下內(nèi)容可能報(bào)類缺少之類的問(wèn)題,也可刪掉、注釋

_sym_db.RegisterMessage

文件中包含的空的數(shù)組 oneofs也可能給導(dǎo)致異常,刪掉、注釋即可

oneofs=[],

最后調(diào)整一下文件的代碼風(fēng)格即可使用

應(yīng)用(假設(shè)是根據(jù)用戶信息獲取用戶的博客文章)
request = DemoRequest()

request.user.id = 1
request.user.name = "zhangsan"
body = request.SerializeToString()
# body 既可以使用http發(fā)送

response = http_func_name(body)

message = response.getBody()
message.ParseFromString()

# message 即為對(duì)應(yīng)的數(shù)據(jù)對(duì)象
print(message.blog.id)
print(message.blog.title)
在PHP中的應(yīng)用 下載allegro/php-protobuf

github版本發(fā)布頁(yè)面

https://github.com/allegro/php-protobuf/releases

下載最新發(fā)布的版本(2018.11.26版本為v0.12.3)

wget https://github.com/allegro/php-protobuf/archive/v0.12.3.zip

解壓到當(dāng)前目錄

unzip v0.12.3.zip -d ./
安裝php擴(kuò)展
cd php-protobuf-0.12.3
phpize
./configure
make
make install
配置php.ini
extension=protobuf.so
在擴(kuò)展配置部分加入以上內(nèi)容,執(zhí)行php -ir | grep protobuf輸出protobuf擴(kuò)展信息即為正常,如:
protobuf
PWD => /home/qingliu/soft/php-protobuf-0.12.3
$_SERVER["PWD"] => /home/qingliu/soft/php-protobuf-0.12.3
在源碼目錄安裝allegro/php-protobuf依賴的php類庫(kù)

composer install 安裝即可

使用protobuf生成.php文件
protoc --proto_path=/home/zhangsan/protobuf --plugin=protoc-gen-allegrophp=protoc-gen-php.php --allegrophp_out=/home/zhangsan/php /home/zhangsan/protobuf/test.proto
請(qǐng)?jiān)赼llegro/php-protobuf的源碼目錄執(zhí)行,正常執(zhí)行完上述命令后,可以在 /home/zhangsan/php目錄中看到生成的php文件,php無(wú)需修改,即可使用,如不符合自己的項(xiàng)目規(guī)范,可以自行調(diào)節(jié)
IDE Helper

使用這個(gè)composer包就行啦

composer require ruoge3s/protobuf-message-helper

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/29706.html

相關(guān)文章

  • linux安裝protobuf及其使用

    摘要:下安裝及在與上的應(yīng)用下載解壓源文件上的版本發(fā)布地址下載解壓進(jìn)入源碼目錄當(dāng)前下載的最后一個(gè)版本請(qǐng)根據(jù)自己的需求下載對(duì)應(yīng)的版本,當(dāng)前操作演示版本為及文件中開(kāi)頭的安裝依賴其他非發(fā)行版的機(jī)器安裝對(duì)應(yīng)的依賴擴(kuò)展即可生成文件如果無(wú)法連接網(wǎng)站修改 linux下安裝protobuf及在python與php上的應(yīng)用 下載解壓源文件 github上的版本發(fā)布地址 https://github.com/pr...

    _ipo 評(píng)論0 收藏0
  • caffe Ununtu 16.04.4開(kāi)發(fā)環(huán)境配置(CPU版)

    摘要:是一種常用的深度學(xué)習(xí)框架,主要應(yīng)用在視頻圖像處理方面的應(yīng)用上。由于沒(méi)錢(qián)買(mǎi),只能在虛擬機(jī)環(huán)境下配置版開(kāi)發(fā)環(huán)境,大家勿笑。 caffe是一種常用的深度學(xué)習(xí)框架,主要應(yīng)用在視頻、圖像處理方面的應(yīng)用上。由于沒(méi)錢(qián)買(mǎi)gpu,只能在虛擬機(jī)環(huán)境下配置Ubuntu CPU版caffe開(kāi)發(fā)環(huán)境,大家勿笑。 1.首先,先安裝依賴庫(kù): sudo apt-get install libprotobuf-dev...

    2shou 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<