Python 自定义包的导入问题 和 打包成exe无法在别的电脑运行的问题

Python 自定义包的导入问题 和 打包成exe无法在别的电脑运行的问题

包的说明

每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录(文件夹),而不是一个包。__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是对应包的名字。调用包就是执行包下的__init__.py文件。

问题描述

在一个文件中要引入一个自定义包中的模块,出现模块无法导入问题,

此时采取第一种解决方法:

  1. 先导入sys模块
  2. 然后通过sys.path.append(path)函数来导入自定义模块所在的目录
  3. 导入自定义模块

上面的解决方法会导致以下问题:

可以在本地成功运行,但是打包成exe以后,到别的电脑上无法运行,因为sys.path.append(path)里面的path在别的电脑上不一定存在。

第二种解决方法:

不在代码里使用sys.path.append(path),保证代码里不存在本地绝对路径,把要导入的自定义包拷贝到site-packages目录下,

然后再打包成exe以后就可以在别的电脑上成功运行。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119519.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 谷歌地图离线地图开发教程视频_谷歌地图离线

    谷歌地图离线地图开发教程视频_谷歌地图离线谷歌离线地图开发主要有两部分组成:1、获取离线地图数据;因为离线地图一般都是局域网,所以需要离线地图数据放在内网中使用;2、离线地图服务器搭建以及二次开发接口提供,离线地图是一种服务,就像我们Apache提供的WEB服务器一样,他是一种准们的地图服务:提供了包括WEB服务、TMS服务、WMTS服务等等。离线地图数据的获取:可以通过【大地图下载器】下载到。下面将一…

    2022年9月20日
    0
  • ssm框架过时了吗_spring实战

    ssm框架过时了吗_spring实战SpringSpring是一个开源的免费的框架Spring是一个轻量级的,非入侵式的框架控制反转(IOC),面向切面编程(AOP)支持事务的处理,对框架整合的支持IOC理论UserDaoUserDaoImpUserSeviceUserServiceImp在之前,用户的需求可能会影响原来的代码。使用一个set。public void setUserDao(UserDao userDao){ this.userDao = userDao;}之前是主动创建对象,控制

    2022年8月8日
    2
  • kfold_提示Kfold对象不可迭代[通俗易懂]

    kfold_提示Kfold对象不可迭代[通俗易懂]defprinting_Kfold_scores(x_train_data,y_train_data):fold=KFold(5,shuffle=False)print(fold)#C——正则化强度c_param_range=[0.01,0.1,1,10,100]results_table=pd.DataFrame(index=range(len(c_param_range),2…

    2022年9月20日
    0
  • 在线java编译器

    在线java编译器发下一个完整,里面有各种编程语言的编译工具,可以在线编辑使用。收藏下。j在线java编译器地址。https://www.tutorialspoint.com/compile_java_online.php

    2022年7月13日
    18
  • Java 技术是什么?

    Java 技术是什么?Java技术既是一种高级的面向对象的编程语言,也是一个平台。Java技术基于Java虚拟机(Javavirtualmachine,JVM)的概念——这是语言与底层软件和硬件之间的一种转换器。Java语言的所有实现都必须实现JVM,从而使Java程序可以在有JVM的任何系统上运行。Java编程语言(Javaprogramminglanguage)与众不同之

    2022年7月8日
    19
  • hibernate执行原生sql_接口定义方法

    hibernate执行原生sql_接口定义方法Hibernate之Query接口的uniqueResult方法

    2022年9月30日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号