MacOS Pyharm 环境下,Python 引用其它兄弟目录下的模块(含成功环境截图)

python开发过程中遇到引用其它目录下的模块的问题。网上查了很多资料,都没有成功,造成了很多误导,浪费了很多时间,现将成功的方法,记录如下,希望可以帮助后来人:

以前的坑放在这里,提示后人

1、不需要 __init__py 文件,任何目录都不需要!

2、不需要将目录标记为任何特殊文件夹!

3、sys.path.aapend("..")是错误的,通过print发现只是添加了一个字符串“.."并没有自动将“.."转换为上级目录的路径!

pycharm中环境、文件位置、代码、执行结果如下图所示

代码如下:复制后,路径名“Basic”需要改下(取得父目录路径的代码有误,新的代码更新如下)

#这里test.py中的代码

import sys, os


print("打印原本的sys.path内容")
for li in sys.path:
    print(li)

print("打印添加上级目录和模块所以目录的路径后的sys.path")


current_path = os.getcwd().replace('\\', '/')  # 获取当前路径
i = current_path.rindex('/')
parent_path = current_path[:i]  # 取得上级目录路径

sys.path.append(parent_path) #添加到上级目录路径到sys.path中
aa = parent_path + r"/Basic" #引用其经目录时,需要改这里。
sys.path.append(aa)# 将包所在的路径加到sys.path中
for li in sys.path:
    print(li)


from DataHelper import MysqlDbHelp

mysql = MysqlDbHelp()
mysql.getPrint() # getprint() 是一个测试调用是否成功的方法,只是打印一个字符串

新的代码:(考贝代码以下代码代替上边的代码即可)


import sys,os
current_path=os.path.dirname(__file__) #获取当前文件的路径
parent_path=os.path.dirname(os.path.dirname(__file__)) # 得到上父目录的路径
sys.path.append(parent_path)  # 添加到上级目录路径到sys.path中
import_path = parent_path + r"/Basic"
sys.path.append(import_path)  # 将包所在的路径加到sys.path中

思考:将来是不是可以做成一个函数,将所有目录都一起加载好,然后在程序的启动入口,调用一下。这样就不用担心找到模块的问题了。

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
macOS系统下Vscode的python解释器可以使用多种方式来配置和使用,一般来说有以下几种方法: 1. 使用系统默认的python解释器。MacOS自带了python解释器,可以在终端中输入python来检查是否已经安装成功。通过Vscode的设置,选择系统默认的python解释器即可。这种方式简单易用,但是有时版本不一致可能会引发问题。 2. 安装anaconda,并使用其自带的python解释器。anaconda是一个常用的数据科学环境,其中包python解释器以及各种常用库和工具。安装后,通过Vscode的设置,指定anaconda的python解释器即可。这种方式相对来说比较方便,而且可以方便地管理不同版本的python。 3. 使用pipenv或virtualenv等虚拟环境管理工具。这些工具可以创建和管理独立的Python环境,可以在同一台电脑上并存多个版本的Python,并且可以自由地安装和升级各种包。通过Vscode的设置,指定虚拟环境下的python解释器即可。这种方式相对来说比较灵活,但需要一定的设置和管理工作。 综上所述,选择何种方式配置python解释器取决于个人的需求和偏好。对于普通用户来说,使用系统默认的python解释器已足够,而对于专业开发者或者数据科学家来说,安装anaconda或虚拟环境工具可能更加方便灵活。无论如何,配置好python解释器后,Vscode可以成为一款高效便捷的Python开发工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

聊产品敲代码的项目经理

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值