解决python调用自己文件函数/执行函数找不到包问题

 更新时间:2020年06月01日 09:43:52   作者:小博天蝎  
这篇文章主要介绍了解决python调用自己文件函数/执行函数找不到包问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

写python程序的时候很多人习惯创建一个utils.py文件,存放一些经常使用的函数,方便其他文件调用,同时也更好的管理一些通用函数,方便今后使用。或是两个文件之间的class或是函数调用情况。

就像下面的工程目录一样:

工程目录

Project\
 ...
 src\
 main.py
 utils.py
 test.py
 ...

python调用其他文件中的函数

在main.py文件中加入一下语句即可调用utils.py下面的函数:‘'

import src.utils as utils
X, y = utils.load_data()

开发python的习惯使用IDE,比如pycharm,pydev等,在这些IDE中使用方便,可以轻松的更换解释器,在文件右键运行即可,没有问题。使用上述的方法也不会有其它问题。

可是当你现在本地写code,然后发现本地计算资源不够,想到了服务器,服务器是ubuntu的。

于是乎用ssh admin@219.224.30.xxx.登录服务器,然后选择一个本人的文件工程目录下面用scp命令将本地代码拷贝过去,或是用git clone https://github.com/xxx将代码仓库代码拷贝到服务器上,然后cd Project/,敲下python main.py,发现报出No module named ‘src'.错误,于是上网上搜代码,有人给出解决方案“把工程目录里面加入sys就行了”

import sys
sys.path.append('D:/pythonworkspace')

没错在本地是能解决问题,但是换个别的盘呢?又得改代码。在服务器上呢,What? D盘?ubuntu哪来的D盘?还得改代码

原因

在文件中写下面两句python代码

import sys
print(sys.path)

分别用pycharm和shell执行,发现两个输出的是不一样的:

pycharm输出:

D:\\pythonworkspace\\Project

shell输出:

D:\\pythonworkspacr\\Projecrt\\src

有人觉得,原来是这个样子,于是乎cd ..,然后python src/test.py,可是发现还是会报错,找不到module。

原因是pycharm执行文件的时候路径是整个工程下的路径,而shell执行文件的时候是执行文件所在的路径,不是shell所在的文件路径。

解决

所以正确的姿势是这个样子

import sys
sys.path.append("..")

先把相对路径转换成绝对路径,然后将绝对路径加入系统变量中就行了。这样就可以在不用的场景下使用python命令,和灵活的使用其他文件下的函数了,不会报错。如果包含多级目录就继续加sys.path.append("../..")

以上这篇解决python调用自己文件函数/执行函数找不到包问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python解析m3u8拼接下载mp4视频文件的示例代码

    Python解析m3u8拼接下载mp4视频文件的示例代码

    这篇文章主要介绍了Python解析m3u8拼接下载mp4视频文件的示例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • python tornado开启多进程的几种方法

    python tornado开启多进程的几种方法

    本文主要介绍了python tornado开启多进程的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • python更新列表的方法

    python更新列表的方法

    这篇文章主要介绍了python更新列表的方法,实例分析了Python列表赋值的相关技巧,需要的朋友可以参考下
    2015-07-07
  • python hmac模块验证客户端的合法性

    python hmac模块验证客户端的合法性

    这篇文章主要介绍了python hmac模块验证客户端的合法性,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-11-11
  • python查看文件大小和文件夹内容的方法

    python查看文件大小和文件夹内容的方法

    今天小编就为大家分享一篇python查看文件大小和文件夹内容的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python进行有限元仿真的使用及创建

    Python进行有限元仿真的使用及创建

    这篇文章主要为大家介绍了Python进行有限元仿真的创建及使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Python入门教程4. 元组基本操作

    Python入门教程4. 元组基本操作

    这篇文章主要介绍了Python元组基本操作,简单介绍了元组的创建、count方法元素统计、index方法元素获取等相关操作技巧与注意事项,需要的朋友可以参考下
    2018-10-10
  • python下MySQLdb用法实例分析

    python下MySQLdb用法实例分析

    这篇文章主要介绍了python下MySQLdb用法,实例分析了Python中MySQLdb的安装及使用技巧,包括增删改查及乱码处理的相关技巧,需要的朋友可以参考下
    2015-06-06
  • python 抽象类的使用详解

    python 抽象类的使用详解

    这篇文章主要介绍了python 抽象类的使用详解,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • TensorFlow 显存使用机制详解

    TensorFlow 显存使用机制详解

    今天小编就为大家分享一篇TensorFlow 显存使用机制详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论