精华内容
下载资源
问答
  • ,vs写完代码怎么运行你把你的代码写完了,是不是要给别人使用下,怎么打包你的项目代码呢?喂,开源么?接下来小帅b就跟你说说,如何打包你的代码。就拿我们上次演示的 用 Python 开发一个 「个人计划 todolist」 为...

    Python 项目代码写完了,然后怎么打包和发布?,vs写完代码怎么运行

    你把你的代码写完了,是不是要给别人使用下,怎么打包你的项目代码呢?

    喂,开源么?

    接下来小帅b就跟你说说,如何打包你的代码。

    就拿我们上次演示的 用 Python 开发一个 「个人计划 todolist」 为例,写完代码之后,代码的目录是这样的:

    在 todo 这个目录里面,文件都放在一起了,我们可以这样简单划分一下:

    这里创建了一个 package 目录,将源码文件放进去,然后把模板文件和数据库文件分门别类的安排好。

    在 package 中,还创建了一个 你常常看到的 __init__.py 到底是个啥? 仪式感一下。

    为了让别人知道你是认真对待这个项目的,你可以在项目文件中创建一个 tests 目录,在里面测试你的代码:

    接着可以创建一个 LICENSE,用来说明你的这个项目可以被怎么使用?是不是需要声明来源,是不是可以商用?别人用你的项目去搞事情如何避免被抓去吃牢饭等。

    接着再创建一个 README 文件,来说明你这个项目是干什么的,如何使用等描述。

    现在你的项目文件目录就有点人模人样了:

    接下来要创建一个比较重要的文件了 —— setup.py,这个文件主要用来描述你的项目信息,好让 setuptools 打包工具来帮你打包项目。

    在根目录下创建一个 setup.py 文件,按以下的方式来写你的项目信息:

    每个参数都是什么意思呢?我来给你说明一下:

    long_description:对项目比较长的描述,我们可以直接从 你刚刚写的 README 文件读取。

    name: 你定义的包名,可以用字母、数字、下划线,需要确保唯一性。

    version: 项目的版本号。

    author: 你(作者)的名称。

    author_email: 你(作者) 的邮箱。

    description: 项目的简要描述。

    long_description_content_type:长描述内容的使用的标记类型,一般为 markdown 或者 rst。

    url: 你这个项目的主页地址,也可以直接链接到你这个项目的Github 地址上面去。

    include_package_data: 是否添加 py 以外的文件。

    package_data: 需要添加 Python 的额外文件列表。

    packages: 直接用 setuptool 找到你项目所有相关的包列表。

    classifiers: 附加说明,比如这里写的就是使用于 Python3 版本,使用的是 MIT 协议,独立于 OS。

    python_requires: python 版本要求。

    那么现在,你的项目目录应该是这样子的:

    接下来就可以打包了。

    如果你之前没有安装过 setuptools 和 wheel 可以先安装一波:

    python3 -m pip install --upgrade setuptools wheel

    然后在你的项目根目录下,使用如下命令打包:

    python3 setup.py sdist bdist_wheel

    这时候你的目录会增加这么些文件:

    这样就算打包好了,在 dist 目录中,以 tar.gz 结尾的是你项目的源文件,而以 .whl 结尾的就是构建好了给别人使用的发行版。

    那么如何将你打包好的项目发布出来,给别人使用呢?

    其实之前有说过了,这里再简单的说一下吧:

    先安装一下 twine:

    python3 -m pip install twine

    接着使用 twine 将你打包好的文件上传到 pypi 上面去:

    twine upload dist/*

    这时候它会提示你输入 pypi 的账号密码:

    没有怎么办?去注册一个呗,到以下链接注册:

    https://pypi.org/account/register/

    接着输入你的账号密码,就可以上传上去了:

    这时候别人就可以通过 pip 来安装你的项目了:

    像这样:

    然后就可以给别人使用你的包了:

    你在 pip install 的时候,其实就是下载你上传的 whl 文件然后安装:

    如果你不想开源,只想给你朋友使用的话,你也可以直接把 dist 这个目录下的文件发给他,让他自行安装一波就可以使用了:

    ok,以上就是今天小帅b给你带来的分享,希望对你有帮助,那么我们下回见,peace!

    展开全文
  • 你把你的代码写完了,是不是要给别人使用下,怎么打包你的项目代码呢?喂,开源么?接下来小帅b就跟你说说,如何打包你的代码。就拿我们上次演示的 用 Python 开发一个 「个人计划 todolist」 为例,写完代码之后,...

    你把你的代码写完了,是不是要给别人使用下,怎么打包你的项目代码呢?

    喂,开源么?

    接下来小帅b就跟你说说,如何打包你的代码。

    就拿我们上次演示的 用 Python 开发一个 「个人计划 todolist」 为例,写完代码之后,代码的目录是这样的:

    8b8878b49f6b1cc07b55d4399a639628.jpeg-wh_651x-s_550292726.jpeg

    在 todo 这个目录里面,文件都放在一起了,我们可以这样简单划分一下:

    3e8856e4d97b80f38b0452767326a532.jpeg

    这里创建了一个 package 目录,将源码文件放进去,然后把模板文件和数据库文件分门别类的安排好。

    在 package 中,还创建了一个 你常常看到的 __init__.py 到底是个啥? 仪式感一下。

    为了让别人知道你是认真对待这个项目的,你可以在项目文件中创建一个 tests 目录,在里面测试你的代码:

    dd1be28b0300cbe998e00fc7e6064dfc.jpeg

    接着可以创建一个 LICENSE,用来说明你的这个项目可以被怎么使用?是不是需要声明来源,是不是可以商用?别人用你的项目去搞事情如何避免被抓去吃牢饭等。

    69978384f79e3667264c5f25cf4ae4db.jpeg

    接着再创建一个 README 文件,来说明你这个项目是干什么的,如何使用等描述。

    adce7abd27400328f9d85126545c5ca3.jpeg

    现在你的项目文件目录就有点人模人样了:

    dd26bad6702438eea39d7f173119734d.jpeg

    接下来要创建一个比较重要的文件了 —— setup.py,这个文件主要用来描述你的项目信息,好让 setuptools 打包工具来帮你打包项目。

    在根目录下创建一个 setup.py 文件,按以下的方式来写你的项目信息:

    e14dded975f9e22458959a3572000254.jpeg

    每个参数都是什么意思呢?我来给你说明一下:

    long_description:对项目比较长的描述,我们可以直接从 你刚刚写的 README 文件读取。

    880eec886f73b6c5456fed629f748f2a.jpeg

    name: 你定义的包名,可以用字母、数字、下划线,需要确保唯一性。

    version: 项目的版本号。

    author: 你(作者)的名称。

    author_email: 你(作者) 的邮箱。

    description: 项目的简要描述。

    long_description_content_type:长描述内容的使用的标记类型,一般为 markdown 或者 rst。

    url: 你这个项目的主页地址,也可以直接链接到你这个项目的Github 地址上面去。

    include_package_data: 是否添加 py 以外的文件。

    package_data: 需要添加 Python 的额外文件列表。

    packages: 直接用 setuptool 找到你项目所有相关的包列表。

    classifiers: 附加说明,比如这里写的就是使用于 Python3 版本,使用的是 MIT 协议,独立于 OS。

    python_requires: python 版本要求。

    那么现在,你的项目目录应该是这样子的:

    f937984cac292c66206d136b1b242a01.jpeg

    接下来就可以打包了。

    如果你之前没有安装过 setuptools 和 wheel 可以先安装一波:

    python3 -m pip install--upgrade setuptools wheel

    eaa60e04fe10709f1444961a0543dd4b.jpeg

    然后在你的项目根目录下,使用如下命令打包:

    python3 setup.py sdist bdist_wheel

    be9882b6ea23cace1db0aa232e4e84f3.jpeg

    这时候你的目录会增加这么些文件:

    147589eef5cfa3805ebd81a1dd5a7098.jpeg

    这样就算打包好了,在 dist 目录中,以 tar.gz 结尾的是你项目的源文件,而以 .whl 结尾的就是构建好了给别人使用的发行版。

    那么如何将你打包好的项目发布出来,给别人使用呢?

    其实之前有说过了,这里再简单的说一下吧:

    先安装一下 twine:

    python3 -m pip install twine

    接着使用 twine 将你打包好的文件上传到 pypi 上面去:

    twine upload dist/*

    这时候它会提示你输入 pypi 的账号密码:

    b06d36b4597498e7a52a2684c176f485.jpeg

    没有怎么办?去注册一个呗,到以下链接注册:

    https://pypi.org/account/register/

    接着输入你的账号密码,就可以上传上去了:

    845d89ccf68c1731e1ae674496630950.jpeg

    这时候别人就可以通过 pip 来安装你的项目了:

    3cc0649538c58778d27499e06f7eb9c6.jpeg

    c725a4acf934e88e1f93151b7fbdc10e.jpeg

    像这样:

    04b1b9263076e5e69a23ad7f251c32a0.jpeg-wh_600x-s_2872830457.jpeg

    然后就可以给别人使用你的包了:

    57897b4dc03de5b59ae8054f9e6b342d.jpeg-wh_600x-s_76197312.jpeg

    你在 pip install 的时候,其实就是下载你上传的 whl 文件然后安装:

    ce683ffe706312b529f3e90799b0a3cf.jpeg-wh_600x-s_516670757.jpeg

    如果你不想开源,只想给你朋友使用的话,你也可以直接把 dist 这个目录下的文件发给他,让他自行安装一波就可以使用了:

    7629573b162e7fcf343e88a99227ab64.jpeg-wh_600x-s_4036995554.jpeg

    3bc54380013aa86a1bb8910c78e661eb.jpeg-wh_600x-s_638648964.jpeg

    ok,以上就是今天小帅b给你带来的分享,希望对你有帮助,那么我们下回见,peace!

    【编辑推荐】

    【责任编辑:未丽燕 TEL:(010)68476606】

    点赞 0

    展开全文
  • 当然你可以在命令框里面自己去手动的敲代码,也可以一个.bat文件一劳永逸......这里我就介绍.bat文件的方法  就是上图所示的三个东东啦,有了这三个东东,把他们拖到你windows服务的debug文件夹里面,点...

     

      当然你可以在命令框里面自己去手动的敲代码,也可以写一个.bat文件一劳永逸......这里我就介绍写.bat文件的方法

     

      就是上图所示的三个东东啦,有了这三个东东,把他们拖到你windows服务的debug文件夹里面,点install.bat就会运行你写的windows服务,点Uninstall.bat就会移除你写的windows服务。

     

      首先来介绍.bat文件怎么写,下面是install.bat的内容,把YourService换成你自己的服务名称

    InstallUtil YourService.exe
    net start YourService
    stop

      下面是Uninstall.bat的内容:

    InstallUtil -u YourService.exe

      自己去新建一个文本文件,把代码一写,后缀名一改就ok了。好了,我们还剩下最后一个文件,就是InstallUtil,这个反而是最简单的,因为这个文件在你下载的visual studio里面,需要注意的是,要分清楚自己的电脑是32位还是64位。路径在

    C:\Windows\Microsoft.NET\Framework64\v4.0.30319   

      我这个路径是64位系统的.net framework 4.0版本的,在这个文件夹里面找到InstallUtil这个东东就可以了,接下来的事情就是去跑你的windows服务吧~~~

       还有一点需要的注意的是,这个InstallUtil是要区分版本的,你在windows上的这个是不能跑在windows server上的,所以跑什么平台就去那个平台找对应的InstallUtil

     

    PS:可以在windows服务里面写坏事情,嘿嘿,比如只要一开机就启动这个服务,然后直接关机~~或者直接打开浏览器来到蜀云泉的博客\(^o^)/~

     

    转载于:https://www.cnblogs.com/yunquan/p/7389548.html

    展开全文
  • 我在免费视频课上抄的计算器代码,自己改动之后出现的问题。用debug试出来只要运行到这里就报错: ![图片说明](https://img-ask.csdn.net/upload/201907/03/1562139876_192037.jpg) 我有试过将这里的private内容...
  • 来源:公众号【编程珠玑】作者:守望先生ID:shouwangxiansheng前言我们都知道,写完了的C代码是需要编译链接之后才能运行的(也许你不需要手动点击编译,但是IDE可能帮你做了这件事),那么能不能让C代码像执行shell...

    来源:公众号【编程珠玑】

    作者:守望先生

    ID:shouwangxiansheng

    前言

    我们都知道,写完了的C代码是需要编译链接之后才能运行的(也许你不需要手动点击编译,但是IDE可能帮你做了这件事),那么能不能让C代码像执行shell脚本或者Python脚本一样,直接可运行呢?类似于:

    $ ./main.c

    就可以直接运行了。

    看起来虽然没啥用,但是感觉有点小刺激。

    小试牛刀

    对于文本内容,系统首先会尝试当成shell进行解释执行,这一点还不明白的朋友,建议先阅读《为什么执行命令开头需要./》。

    不过话又说回来,.c最终要编译成可执行文件,如果想要它直接执行,那么就得悄悄地在这个过程中做点小动作了。我们试试把编译过程加进去:

    #!/usr/bin/gcc  -o main "$0" && ./main
    //main.c 公众号编程珠玑
    #include
    int main(void){
        printf("hello,编程珠玑\n");
        return 0;
    }

    试一下:

    $ ./main.c
    ./main.c:1:2: error: invalid preprocessing directive #!
     #!/usr/bin/gcc  -o main "$0" && ./main

    诶,报错了,看起来像是GCC编译main.c的时候报错了。

    仔细一想,这不太正常了吗?很明显第一行就不是C代码的合法内容啊!

    再接再厉

    怎么办呢?能不能把第一行既能够执行编译,又能够变成合法的C代码内容呢?
    这不很简单吗?注释不就是这样的内容吗?

    //usr/bin/gcc  -o main "$0" && ./main
    //main.c 公众号编程珠玑
    #include
    int main(void){
        printf("hello,编程珠玑\n");
        return 0;
    }

    嗯?还真是巧了,对于C代码来说,第一行是注释,对于shell来说,也是一个正常的路径。再试一下:

    $ ./main.c
    ./main.c: line 2//main.c: No such file or directory
    ./main.c: line 4: syntax error near unexpected token `('
    ./main.c: line 4: `int main(void)'

    咦?怎么还是报错了?前面说到,这里的内容必须既能被shell识别,又能是合法C代码,显然第二行不符合啊。

    投机取巧

    很明显,除了第二行,后面的第三行,第四行都不能被当成shell正常执行。那么就果断一点好了,执行完了第一行咱就退出还不行吗?

    于是,第一行变成下面这样:

    //usr/bin/gcc  -o main "$0" && ./main ;exit

    再来执行一下

    $ ./main.c
    hello,编程珠玑

    实际上就达到了下面的效果:

    $ gcc -o main main.c && ./main

    还能更通用吗?

    有人就问了,这里指定了生成文件名,而且如果程序还带了参数怎么办?
    但是用//开头已经很取巧了。别忘了,C里面还有终极注释大法:

    #if 0
    #endif 

    而且巧的是,#也是shell脚本的注释符。这就有趣了。

    我们改造如下:

    #if 0
    proName="${0%.*}"  #去掉文件名后缀,作为程序名
    gcc -o $proName "$0"
    ./$proName "$@"   #传入命令行参数
    rm $proName
    exit
    #endif
    //main.c 公众号编程珠玑
    #include
    int main(void)
    {
        printf("hello,编程珠玑\n");
        return 0;
    }

    现在再来看,是不是符合要求了:

    • 文件名不限定

    • 支持程序传入命令行参数

    有人又要问了,如果多文件程序怎么办?

    还能怎么办?makefile,cmake bazel等用起来。

    总结

    好了,秘密也被你知道了,现在一点都不神奇了吧!这里纯属娱乐,仅供学习其中的原理,对于编译链接成可执行程序,构建工具是一个好的选择。

    44ffd2f68f4ba8abe57cfc487d99726d.png

    相关精彩推荐

    4dd482a4e9adda65e2551da489399434.png

    关注公众号【编程珠玑】,获取更多Linux/C/C++/数据结构与算法/计算机基础/工具等原创技术文章。后台免费获取经典电子书和视频资源

    d4c148e1d331ca128a8661572d2060da.png

    展开全文
  • 本文链接: https://blog.openacid.com/algo/paxoskv/前言写完 paxos的直观解释 之后, 网友都说疗效甚好, 但是也会对这篇教程中一些环节提出疑问(有疑问说明真的看懂了 ) , 例如怎么把只能确定一个值的paxos应用到...
  • 最后我检查了代码之后,发现他里面了个死循环。并不是程序运行的慢,而是程序卡主了。他静静的等待了20多分钟,最后强退了。一般程序超过两三分钟没响应,就要检查下代码了,极有可能是死循环。这个时候需要优化...
  • 所谓填补空白,具体说就是让像我一样的操作系统爱好者在读本书之后,能够有信心去读其他比较流行的开源的操作系统代码,有能力从零开始自己动手操作系统,而这个任务第一版已经完成了。 那么为什么我又写作了第...
  • 所谓填补空白,具体说就是让像我一样的操作系统爱好者在读本书之后,能够有信心去读其他比较流行的开源的操作系统代码,有能力从零开始自己动手操作系统,而这个任务第一版已经完成了。 那么为什么我又写作了第...
  • 《VS2015运行程序时拒绝访问》

    千次阅读 2017-08-02 17:12:56
    平常玩游戏打开TGP,打游戏之后再用vs写代码都没怎么出现过问题,今天玩CF之后运行代码发现TMD拒绝访问,我靠,网上搜了一下,都说是TGP的原因,估计是加速的时候把vs里面的一些功能给关了,而且关了TGP也没用...
  • 市场部的小杨最近特别不开心,跑过来找我诉苦:“陈哥,我每天都要给100...”运行代码之后是这样的:一、 用到的库1、python-docxdocx 是 Word 文档的后缀名,很明显,python-docx 这个库是用来编辑 Word 文档的。直...
  • 服务运行原理

    2017-07-28 11:09:52
    当我们写完代码,发布之后,服务器上到底发生了什么。目前我们的代码都是部署在tomcat上,tomcat运行在虚拟机上,虚拟机运行在物理服务器上。下面是服务运行的整体结构,分析每层都发生了什么,有助于我们了解服务是...
  • spark(scala) shell 里面输入多行代码

    千次阅读 2019-09-20 21:10:12
    会发比起在IntelliJ IDEA 输入Scala代码,直接在spark启动的shell里面写代码会少些很多代码,那怎么怎么在shell里面多行代码呐,so easy!!! 首先启动spark shell ...退出完之后会直接运行代码块。 ...
  • 一键运行R脚本

    万次阅读 2017-08-11 16:42:10
    你平时都是怎么运行你的R脚本的呢?是打开R还是打开Rstudio再运行你的R脚本的呢?...写完之后保存,将记事本的后缀.txt改成.bat保存。 一. 使用R.exe程序运行你的脚本 (1)当脚本与bat文
  • 照着书上把代码写完之后运行MyCrawler主程序,发现在存储的路径下面只有一个网页内容,就说明爬虫只爬取了一个网页,仔细检查了书上的代码,发现并没有错误,后来查了API之后才发现,在Parser的构造函数里有一个是...
  • 写完 paxos的直观解释 之后, 网友都说疗效甚好, 但是也会对这篇教程中一些环节提出疑问(有疑问说明真的看懂了 ???? ) , 例如怎么把只能确定一个值的paxos应用到实际场景中. 既然Talk is cheap, 那么就Show me the ...
  • 代码下载:http://download.csdn.net/detail/sufei1013/4017086 没有分的可以留下信箱我统一发给大家 ...程序员在写Sql代码时,一般是一个人写完之后,一运行可快完事 其实这些是不够的,我...
  • 在刚开始学习使用android studio的时候,有些人可能还不太会怎么创建各种布局,创建完之后,按照材料上的代码写程序,总是和材料上的不一样,这种情况下可能就是你的布局创建错了。例如:你创建了一个线性布局,却要...
  • 1.1、程序写完之后,一定要ctrl + s 进行保存 第一个HelloWorld程序照抄就行了,不要问代码为什么这么写。 另外,大家需要注意的是:java源代码只要修改,必须重新编译。 重新编译生成新的class字节码文件。 ...
  • python快速教程, 图片、代码齐全(区别网上的代码图片缺失版),跟进博客更新至2016-12-07,纯手工转epub,适合手机、平板阅读 【说明】 怎么能快速地掌握Python?这是和朋友闲聊时谈起的问题。 Python包含的...
  • 随着最后一行代码的输入,IT男罗书全欣喜若狂,程序写完了,可以试着运行代码了。按下run键之后,出现了以下错误: 连接不上,怎么回事呢?跟踪了许久后发现,原来连接数据库的url地址不是开发环境的,导致连接...
  • 在进行注释完之后,重新编译会报错:编码GBK不可映射。这是怎么回事儿呢?后来了解到,这是因为代码中含有中文字符,虽然是在注释的内容中的中文,但是也算。在用cmd命令行运行java的时候,系统默认的编码格式...
  • 最近在学习python,之前一直用notepad++作为编辑器,偶然发现了VScode便被它的颜值吸引。用过之后发现它启动快速,插件丰富,下载安装后几乎不用...到这边VScode就可以编辑python代码了,编辑完代码按F5即可运行。初

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 199
精华内容 79
关键字:

代码写完之后怎么运行