Windows平台下把Julia语言的程序编译打包为.exe可执行文件

news2024/10/6 10:33:59

一、创建工程

1.在D盘(其它盘亦可)目录新建一个工程文件:Julia Projects(自定义名称)

目录即 D:\Julia Projects

2.打开Atom IDE编辑器 --->File--->Add Project Folder...--->选择刚刚新建的文件夹Julia Projects

 3.右键Julia Projects--->New Folder--->文件命名为demo(自定义名称)

4.右键demo--->New Folder--->文件命名为src(必须为此名称)

 

 二、添加源码

1.右键src--->New File--->输入文件名为demo.jl

 2.在demo.jl中输入一些代码

 demo.jl中的代码如下:

module demo
    #using Gtk
    clear() = run(`cmd /c cls`)
	function ReadKey()
		while true
			println("please enter a key!")
			input = readline()
			if input == "e" || input == "E" break end
			println("\nYou press is: $input.")
			println("press any key to continue...")
			readline()
			clear()
		end
	end
	function julia_main()
		ReadKey()
	end
end

 三、添加编译文件

1.右键demo文件夹--->New File--->输入precompile_app.jl(必须为该名称)

2.在 precompile_app.jl中输入代码

using demo

demo.julia_main()

四、添加配置文件信息

1.右键demo文件夹--->New File--->输入Project.toml

2.在Project.toml写入代码

name = "demo"
uuid = "稍后操作获取"
authors = ["AY <mmm@hotmail.com>"]
version = "0.1.0"

 3.添加uuid,uuid如何获取?在Atom中打开REPL交互式julia界面中

 输入using UUIDs

 五、把库引入到项目中

添加PackageCompiler库是必须的,这类似于python中的pyinstaller库,需要先pip安装,才能打包。假如你的项目中有用到其它的库,也需要引入到Project.toml中去。

例如源码中用到了Gtk库(using Gtk),此时就需要将库引入demo项目中去

1.按照图中的方法操作

命令依次是:

1.pwd()

2.cd("demo")

3.pwd()

4.]

5.activate .

6.add PackageCompiler

实际操作如下:

 您注意到没有,(@v1.8) pkg>变为了(demo) pkg>,是因为把目录切换到了demo,而Project.toml文件是在demo目录中的

 

 2.继续添加其他库

(demo)pkg>add Gtk

 

如下图正在编译中

 

 添加完成

查看引入的库是否成功

 

3.退出(demo)pkg>

 按键盘上的Backspace键,回到julia>

六、编译打包

 出现如下错误怎么办?这是因为目录不对,我们之前cd到了demo目录,此时需要把目录返回到上一层目录,即工程目录 D:\Julia Projects

 如何返回?本人尝试cd("Julia Projects")失败了,哈哈,知识还是不过关,最终还是通过关闭Atom IDE后再打开Atom返回的。

 

 打包完成,哈哈,这时长真感人,比python还慢

 

 去目录中找到该文件,运行

 七、修改了demo.jl源码后如何打包?

 

 结语:

打包文件太大了!): 我不喜欢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/495430.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

评判需求优先级5大规则和方法(纯干货):

在划分用户需求时&#xff0c;需秉承需求任务紧跟核心业务指标&#xff0c;按照一定的规则和方法进行优先级的划分。 常见评判需求优先级规则有&#xff1a;四象限法则、KANO模型、二八原则、产品生命周期法、ROI评估法。 一、四象限法则 四象限法则是以【重要】和【紧急】程度…

OPC UA/DA协议库open62541的win10下,cmake+MinGW/VC编译

目录 一、下载源码 二、编译源码 三、案例编译 3.1 工程目录 3.2 server端 3.3 client端 3.4 程序运行 一、下载源码 win10系统&#xff0c;安装git工具 下载open62541库源码&#xff0c;该源码是MPLv2的License git clone --recursive https://github.com/open62541/open6…

MobileNet(V1、V2、V3)入门

MobileNet 良好的移植性 可以很好的使用在移动设备上做分类、检测、分割等任务 深度可分离卷积&#xff08;v1核心&#xff09; 经典卷积算法中&#xff0c;输入的通道数要和过滤器的保持一致&#xff0c;这样很耗费参数 深度可分离卷积 第一步&#xff1a;有多少个输入&a…

Linux学习记录——이십이 进程信号(1)

文章目录 1、了解信号2、了解信号处理3、信号产生1、键盘按键产生2、系统接口产生3、软件条件产生4、硬件异常 4、Core和Term的区别5、信号保存1、在系统中的表现形式2、信号集操作函数1、sigprocmask2、sigpending 6、重谈地址空间7、信号处理与捕捉sigaction 1、了解信号 信…

数据挖掘、数据分析——异常值处理、归一化处理

数据&#xff1a; # 下载需要用到的数据集 !wget http://tianchi-media.oss-cn-beijing.aliyuncs.com/DSW/Industrial_Steam_Forecast/zhengqi_test.txt !wget http://tianchi-media.oss-cn-beijing.aliyuncs.com/DSW/Industrial_Steam_Forecast/zhengqi_train.txt数据异常值分…

【Python】flask实现登录注册

一、jinjia2 1、控制结构 控制结构 Flask中的Jinja2模板提供了多种控制结构&#xff0c;通过这些控制结构可以改变模板的渲染过程。例如&#xff0c;下面展示的条件控制语句。 2、使用flask成功渲染到模板 【首先你要】 首先要创建一个templates目录&#xff0c;这里面放想要渲…

构造函数的复习,析构函数,拷贝构造函数与由此关于引用的思考

TIPS 在类当中不受访问限定符的限制&#xff0c;在类外面才会受到限制由于内存栈区的使用习惯是先使用高地址&#xff0c;再使用低地址&#xff1b;因此比方说有两个实例化对象依次创建&#xff0c;并且这两个实例化对象当中都有析构函数&#xff0c;也就是当退出销毁的时候&a…

MySQL数据库基础表格——增删改查(上)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有收获&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️树高千尺&#xff0c;落叶归根人生不易&…

有哪些网络安全小知识可以科普?

每日畅游在网络世界中的你&#xff0c;可曾遇到过计算机莫名中毒、文档意外丢失、黑客异常攻击、网络行骗诈骗、个人信息泄露等风险和危害&#xff1f;一起来看看这些你不得不知道的网络安全小知识吧&#xff01; 如何防范病毒或木马的攻击&#xff1f; 1. 为计算机安装杀毒软…

synchronized 关键字基础总结

synchronized 关键字 说一说你对 synchronized 关键字的理解&#xff1f; synchronized 翻译成中文是同步的的意思&#xff0c;主要解决的是多个线程之间访问资源的同步性&#xff0c;可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。 在 Java 早期版本中&a…

第一眼看到就喜欢上了

有多少小伙伴是被标题 骗 吸引进来的呢&#xff0c;小编可不是标题党。 今天给大家推荐的是一款开源3D 博客&#xff0c;确实是第一眼看到就喜欢上了。 相信大家跟我一样&#xff0c;曾经可能花费大量的时间和精力打造过自己的专属博客。只为自己的博客看上去与众不同&#x…

2023Java商城毕业设计(附源码和数据库文件下载链接)Spring Boot + mysql + maven + mybatis-plus

2023Java商城毕业设计Spring Boot mysql maven mybatis-plus 用户注册用户登录修改密码商品列表&#xff08;分类模糊查询&#xff09;个人信息用户信息修改订单信息添加至购物车商品列表商铺详情商品详情商铺列表 资源目录如下&#xff1a;&#xff08;源码sql文件&#xf…

scratch判断亲和数 中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析2023年3月

目录 scratch判断亲和数 一、题目要求 1、准备工作 2、功能实现 二、案例分析 <

案例分享|CPU监控异常

CPU使用率监控很关键&#xff0c;综合反应系统的负载情况&#xff0c;是监控的重要指标之一。CPU的使用率&#xff0c;对业务系统性能有重要的影响&#xff0c;根据CPU使用率监控&#xff0c;可以对系统或应用进一步分析调优。 4月25日22点&#xff0c;平台收到某县级医院HIS数…

回炉重造十二----网络文件共享服务

网络文件共享服务 1、FTP文件传输协议 1.1 FTP工作原理 FTP的20和21端口的区别 20端口是用来传输数据的 21端口是客户端用来连接FTP服务器 主动模式&#xff08;PORT&#xff09;&#xff1a; 客户端连接到FTP服务端的21号端口&#xff0c;发送用户名和密码当客户端成功登…

对线面试官,JUC面试专题强化

一、AQS高频问题 1.1 AQS是什么&#xff1f; AQS是JUC下大量工具的基础类&#xff0c;很多工具都基于AQS实现的&#xff0c;比如lock锁&#xff0c;CountDownLatch&#xff0c;Semaphore&#xff0c;线程池等等都用到了AQS。 AQS中有一个核心属性state&#xff0c;还有一个…

Android 自定义View实战—制作一个简易输入框

这次我们来做一个简易输入框&#xff0c;可以用于密码输入和验证码输入。 依然在EasyView中进行创建&#xff0c;在com.easy.view下新建一个EasyEditText&#xff0c;继承自View &#xff0c;实现里面的构造方法。 ① 构造方法 然后我们继承自View&#xff0c;重写里面的构造…

一些良心软件的推荐

推荐软件一&#xff1a;硬盘规划——SpaceSniffer SpaceSniffer 是一款免费的硬盘空间管理软件&#xff0c;可以帮助你快速分析你电脑硬盘中的文件和文件夹&#xff0c;让你更加清楚地了解硬盘的使用情况。通过SpaceSniffer&#xff0c;你可以轻松地找到占用大量空间的文件和文…

Java—JDK8新特性—接口增强

目录 JDK引言 1.相关组织和规范 1.1 JCP (Java Community Process) 1.2 JSR (Java Specification Requests) 1.3 JEP (Java Enhancement Proposal) JDK8新特性 1.接口增强 1.1 默认方法 1.1.1 为什么引入默认方法 1.1.2 如何使用默认方法 1.1.3 如何调用默认方法 1…

用Radare2模拟shellcode运行

当我们在编写汇编时&#xff0c;可能有的时候你需要看看编译器中到底发生了什么。如果你正在排除shellcode出现的问题&#xff0c;你那么更需要耐心地、慎重地运行指令。 本文将探讨如何在x86_64的Ubuntu系统上模拟32位ARM shellcode。由于大多数笔记本电脑和工作站还没有运行…