精华内容
下载资源
问答
  • 说明:最近刚刚开始接触接口的编写,用的是有关grpc远程调用。我还没太搞明白接口是怎么回事,但我的初步目标可以简单理解...首先介绍一下我查到的编译方法,第一种是使用protoc,第二种是使用python编译;但只有py...

    说明:

    最近刚刚开始接触接口的编写,用的是有关grpc远程调用。我还没太搞明白接口是怎么回事,但我的初步目标可以简单理解为生成两个python文件。比如你的proto文件名是ABC,那么我的目标是生成:ABC_pb2.py 和 ABC_pb2_grpc.py。

    本文主要是针对上述目标的proto文件编译的。

    首先介绍一下我查到的编译方法,第一种是使用protoc,第二种是使用python编译;但只有python很好的完成了上述任务,因为protoc只生成了一个文件ABC_pb2.py。注意一下,两种方法都是用cmd运行的。

    一、那你首先要准备一个proto文件。

    我在编译的时候遇到了一个问题,就是proto文件的编写格式。网上搜到的编写格式有一些是这样的

    message people{ required string name = 1;

    optional int32 height = 2;}

    但是我在编译的过程中,他一直报错说‘required’和‘optional’这个设置不能有,于是我删掉以后就编译成功了。我这边的版本是3,不知道是不是版本问题,‘required’和‘optional’可能是旧版本的编写方式吧。

    我现在的格式:

    // Filename: abc.proto

    syntax="proto3";

    package abc;

    service Action{

    rpc hihi(Request) returns (Response){}

    }

    message Request {

    string index = 1;

    string ids = 2;

    }

    message Response{

    string impot = 1;

    }

    二、protoc

    使用这种方法你要下载两个东西:1、protobuf , 2、protoc

    你最好下载到一个全英文路径的文件夹里,相信我,以后会省很多麻烦。

    我没有分享我的安装包,因为不知道是否涉及版权,大家自行寻找吧,社区中蛮多人分享的。

    将你下好的protoc.exe放到protobuf的文件夹中。(我为了整洁,新建了一个文件夹把文件放了进去)

    然后把你的proto文件和protoc放到同一个文件夹中。

    接下来很重要的,你要添加环境变量。

    首先右键我的电脑选择属性,选择高级设置-环境变量,找到path,并在后面将你的protoc所在的路径添加进去。

    再新建一个protoc_path,将刚才的路径也复制进去。

    添加好以后,win+R,输入cmd,打开cmd窗口。

    首先将工作目录改为protoc所在的路径,然后输入

    protoc --python_out=. ABC.proto

    就会出现你要的文件啦。

    ps:我的文件名是heatmap_soft_val,把这个换成你的文件名如ABC即可。

    三、python编译

    python的话,首先你要像刚才一样添加环境变量,路径是你python的路径,注意不要写编译器的路径,是python的路径。

    其次,你要下载一些安装包:grpc、grpcio_tools、protobuf

    安装方法:在cmd窗口中把路径改为python中pip.exe所在的路径,我的是Scripts文件夹;在输入

    pip.exe install protobuf

    即可下载包。

    当时我下载某一个包的时候有一个提示,意思大概是pip版本较低,

    You are using pip version 9.0.1, however version 9.0.3 is available.

    You should consider upgrading via the 'python -m pip install --upgrade pip' command.

    于是我用cmd运行下面代码就可以了,代码的作用是更新pip的版本。

    python -m pip install --upgrade pip

    最后打开cmd窗口,把路径切换为python的路径,并且把proto文件放到python文件夹中。

    在cmd中输入

    python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. abc.proto

    即可获得你想要的两个文件。

    后记:接口已经学会怎么写了,可以正常调用了。其实编译好了这两个文件,剩下的就是写一个服务端文件,写一个客户端文件,两个端都调用我们刚才生成的两个文件。首先运行服务端,相当于开始提供服务,然后再运行客户端,就会传参到服务端,然后再返回结果到客户端,即完成一次调用。具体的两个文件怎么写,我有时间会整理到下一个博客中。

    博客整理好了,叫《Python:GRPC接口编写之如何编写服务端与客户端》

    展开全文
  • python编译成exe文件的方法发布时间:2020-08-06 14:11:48来源:亿速云阅读:103作者:小新这篇文章给大家分享的是有关python编译成exe文件的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编...

    python编译成exe文件的方法

    发布时间:2020-08-06 14:11:48

    来源:亿速云

    阅读:103

    作者:小新

    这篇文章给大家分享的是有关python编译成exe文件的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

    python如何编译成exe文件?具体步骤如下:

    python学习网,大量的免费python视频教程,欢迎在线学习!

    1、使用pycharm安装pyinstaller。

    2、找到pyinstaller的安装目录。

    C:\Users\lounious\PycharmProjects\untitled\venv\Scripts\pyinstaller-script.py

    注意在该目录的母目录下一般有我们的程序文件

    C:\Users\lounious\PycharmProjects\untitled

    3、将我们要打包的程序copy至pyinstaller的安装目录下:

    C:\Users\lounious\PycharmProjects\untitled\venv\Scripts\

    4、打开cmd,找到该路径 cd C:\Users\lounious\PycharmProjects\untitled\venv\Scripts\,输入命令pyinstaller -F  *.py

    如下图显示,打包成功。

    5、此时在Scripts的目录下能够看到已经生成的dist目录和*.spec文件。运行*.exe文件即可。

    6、也可以使用命令pyinstaller -F  *.py,该命令会将所有的依赖放到一个文件夹中。相当于-F的解压。

    感谢各位的阅读!关于python编译成exe文件的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

    展开全文
  • 我在用cython编译一个python程序,如下所示:cython --embed myprg.py && gcc -Os -I /usr/include/python3.5m -o myprg myprg.c -lpython3.5m -lpthread -lm -lutil -ldl如果我运行myprg会收到以下错误消息...

    我在用cython编译一个python程序,如下所示:cython --embed myprg.py && gcc -Os -I /usr/include/python3.5m -o myprg myprg.c -lpython3.5m -lpthread -lm -lutil -ldl

    如果我运行myprg会收到以下错误消息:

    ^{pr2}$

    我的python程序是:#!/usr/bin/env python3

    # -*- coding: utf-8 -*-

    import sh

    import os

    import traceback

    import shutil

    import sys

    import json

    print(sys.argv[1:])

    似乎编译后的程序无法加载json模块,而其他模块工作正常。一些测试表明argparse模块似乎也是如此。在

    我的问题是:为什么会出现这种情况?我如何解决/解决这个问题?在

    附加说明:

    据我所知,在用cython编译后,二进制文件将使用某种方法“上海py“-”sh“包的一部分。在这个包中,由于某种原因,一个方法使用以下代码检查导入:""" helper for checking if a filename is in importlib guts """

    return frame.f_code.co_filename == ""

    由于基于cython输出运行程序时似乎没有可用的堆栈帧,因此此方法失败,并出现异常。在

    据我所知,这个错误不是前段时间发生的。它是新的。最近几个月,python中似乎发生了一些变化,打破了cython构建二进制文件的方式。有没有关于这件事的更多信息?在

    展开全文
  • Python 编译为二进制文件 1-安装库 # 安装第三方库 pip install pyinstaller pyinstaller-hooks-contrib 2-生成执行文件 # 这个文件是整个项目的入口 cat run.py # -*-coding:utf-8-*- if __name__ == "__main__...

    Python 编译为二进制文件

    1-安装库

    # 安装第三方库
    pip install pyinstaller pyinstaller-hooks-contrib
    

    2-生成执行文件

    # 这个文件是整个项目的入口
    cat run.py
    # -*-coding:utf-8-*-
    
    
    if __name__ == "__main__":
        from app.run import main
        main()
    
    # 编译生成可执行文件
    pyinstaller -F run.py
    
    # 编译完成后会生成两个文件夹(dist,build)
    # 可执行文件在dist文件夹中
    
    
    

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3-运行可执行文件,启动服务

    cd dist
    ./run
    

    在这里插入图片描述

    展开全文
  • python 编译源文件

    2020-12-20 11:04:18
    背景近期项目到了部署的阶段。由于项目后台和算法都是用Python "撸的",但是又希望将源代码直接 "release" ...解决方案按照第一种思路,我们Python编译好的东西release出去呢?经过一些简单的理论查找和时间。...
  • 当模块加载时,py文件被“字节编译pyc文件。时间戳记记录在pyc文件中。这样做不会使其运行速度更快,但加载速度更快。因此,当您加载它们时,“字节编译”模块是有意义的。[编辑:包括笔记,参考]From PEP 3147 ...
  • 一、前言前期我们已经...二、Python编译python在正常运行时,有时编译生成pyc文件,有时候没有pyc文件的生成。那么我们能不能手动将python程序编译成pyc文件呢?答案是可以的,不但可以编译,还可以直接运行pyc文件...
  • python编译pyc文件

    2021-09-01 22:23:16
    什么是pyc文件 pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有所提高,而且pyc...pyo是优化编译后的程序 python -O 源文件即可将源程序编译为pyo文件
  • 1.下载gitbash或者从命令行进入python文件所在的位置 2.输入命令 pyinstaller -F 文件名.py 没安装pyinstaller的需要安装 3.在dist文件夹下面有一个可执行文件,可以为文件创建桌面快捷方式。简单又实用 ...
  • 生产环境中,有时候想让自己写的代码泄露,又想保留代码执行速度,虽然封装exe文件程序也可以执行也不会让代码泄露,但封装exe文件后执行速度会变慢;这时可以将py文件编译成pyc文件来解决这个问题。 二、具体...
  • 今日在开发一款自用型绘图软件(前段处理数据,后段调用python)时,将JTextField的文本存到一个代理文件(固定临时文件),然后运行时代码抛出了File空。但是查看文件时确实有这个文件内容。在经过运行时调试的办法...
  • 我一直在尝试将python代码编译成单个exe,我没有设法正确地执行它.>我尝试过pyinstaller,这是.spec文件:# -*- mode: python -*-a = Analysis([os.path.join(HOMEPATH,'support\\_mountzlib.py'), os.path.join...
  • 本文章讲述ROS系统下如何将python编译为可以执行文件,步骤比较简单,请严格执行避免疏漏 1.下载必须文件 git clone https://gitee.com/alen2020/ros_python_install_mode_files ##取该目录下的cmake目录和setup.py,...
  • 功能   将Python工程目录下的所有py...  pyc文件是二进制文件,可以保护源代码被看见,当然也有大牛编译编译代码   import datetime from pathlib import Path import os import shutil import compi
  • 主题:python 源码编译我们通常编写了python 脚本,但是这些python 属于接释性执行的源码并利于系统快速的执行,所以我们需要将python 源码编译成系统文件。下面我们就展开研究,实现源码编译过程,完成编译任务。...
  • 1、pyc文件:是由Python文件经过编译后所生成的文件,它是一种字节码 byte code,因此我们直接查看就是乱码的,也对源码起到一定的保护作用,但是这种字节码byte code是可以反编译的,后面会介绍! 我们都知道计算机...
  • python编译过程和执行原理(1)python执行原理这里的解释执行是相对于编译执行而言的。我们都知道,使用C/C++之类的编译性语言编写的程序,是需要从源文件转换成计算机使用的机器语言,经过链接器链接之后形成了二进制...
  • Python 编译安装

    2020-12-30 17:07:33
    http://see.sl088.com/wiki/Python_%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85[隐藏]更多研究好处它不如yum等安装工具的安装,不会破坏原来系统的关联(通常不会)它的安装只是将文件放置于恰当的位置有趣可重复编译看起来...
  • 将 exe 文件编译Python 脚本

    千次阅读 多人点赞 2021-10-09 16:19:21
    将 exe 文件编译Python 脚本! 这篇文章跟自己的另一篇文章,正好形成技术上互逆过程,也同时欢迎阅读指正: python代码文件封装可执行exe文件_py_IA&IM的博客-CSDN博客1.安装依赖库pip install pywin...
  • python程序编译依赖环境的exe文件python3.9例 1.cmd命令下 >pip install pyinstaller 安装pyinstaller模块 2.在python3.9路径下,创建一个文件夹(例:test),启动powershell,进入test目录下。...
  • I am using apache2 and python2.6 on linux.I know how to make apache run a *.py file, just add "AddHandler cgi-script .cgi .py" to httpd.conf file. But how to make apache2 run a *.pyc file?Adding "AddH...
  • Python编译相关知识

    2021-02-11 05:32:47
    Python是一门快速开发的解释型语言Python和Java的解释方式对比Java:源代码 -> 编译成class -> Jvm解释运行Python:源代码 -> Python解释器解释运行事实上,Python和Java的解释方式是相同的,只是我们...
  • Python源代码程序编译后的文件扩展名_________。答: pyc下列程序的运行结果是()。 #include int n=3; void fun(int n) {n++; n*=2; } int main(void) {fun(n); printf('%d',n); return 0; }答:3拳击的基本拳法...
  • 利用Python将py文件编译成so文件

    万次阅读 热门讨论 2021-02-22 12:04:17
    利用Python将py文件编译成so文件
  • python如何编译成exe文件?具体步骤如下:1、使用pycharm安装pyinstaller。2、找到pyinstaller的安装目录。C:\Users\lounious\PycharmProjects\untitled\venv\Scripts\pyinstaller-script.py注意在该目录的母目录下...
  • 1、安装cython 2、官网安装Visual Studio 2019,选择Desktop development with C++,安装后重启系统 3、项目中增加一个py脚本 from distutils.core import ... # 这里文件名 可以增加多个Extension(' ', [' '
  • Python实际上被编译成字节码,它由Python解释器运行。无论何时使用Python模块,Python都将生成一个.pyc文件,该文件的名称与该模块相对应。这相当于编译C文件时生成的.o文件。在因此,如果您想反汇编一些东西,.pyc...
  • 然而,相比起 Python 扩张的速度,Python 代码的运行速度就显得有点逊色了。在代码运行速度方面,Java、C、C++、C# 和 Python 要如何进行比较呢?并没有一个放之四海而皆准的标准,因为具体结果很大程度上取决于运行...
  • 作为Python爱好者,需要了解.py脚本的基本运行机制及特性:在很多工作上Python运行流程基本上取决于用户,因此源码需要编译成二进制代码(否则无法实现大部分贴近用户的特性),而直接从源码运行程序。当我们运行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 223,560
精华内容 89,424
关键字:

为什么python编译的文件不能运行

python 订阅