V02 - 坑爹,Vscode 不认识 Python 的项目

系列文章目录

V1.0 自动化基础模块搭建


Tools\pather.py

添加路径工具

该功能主要是针对 Vscode coding 的小伙伴们准备的,启动虚拟环境后,就可以正常使用了

Python 版本:3.10.5

代码检查工具、风格:PEP 8、pylint

编辑器:Vscode

注释文案:这里特别提示一下,我偏向于无注释代码,所以,很多时候,变量名、方法名、文件名、类名都是注释,当然由于英文水平不怎么好,什么动词、名词、形容词啥的容易混淆,能理解就好了。

仓库传送门


使用方式

Vscode 是一个神奇的编辑器,不知道为啥,他竟然不认识 Python 的项目,用过 Pycharm 的小伙伴大家应该知道,只要创建了一个 Python 的项目后,包里面的文件互相都是认识的,至少 Pycharm 知道你这个是一个项目中的文件,但是人家 Vscode 竟然不认识。

为了这个问题,我也研究了一些办法,最后选择了这个形式。该工具的使用方式比较简单,只需要启动虚拟环境,然后再单独执行即可完成包之间的共享,当然会出现怎么样的意外情况,我不太清楚哈,至少本地测试的时候没有啥问题。

设计思路

一般情况下,如果想让某一个 .py 文件知道另一个文件的存在,可能需要通过 os.path.append( ) 这个形式来告知,这样的话,就会添加多行无用的代码。

所以,在虚拟环境中,我找到了一个 .pth 的文件,让 Python 运行的时候,通过他来进行文件的认知,最后达到了我们所要的效果。

废话不多说,直接上代码

"""path 路径添加工具:
该功能主要是针对使用 Vscode 工具编写代码的小伙伴准备的,如果是 Pycharm 可以不用运行
该功能使用前,需要创建、打开虚拟环境
"""

import os

from vlog import Vlog


def _add_rootdir_into_virtualenvpth():
    """[summary] 添加 path 路径工具:
    通过遍历的方式, 一次性将所有的文件夹、子文件夹写入虚拟环境中的 .pth 文件中
    被写入文件路径约为 ./.env/Lib/_virtualenv.pth
    如文件中内容过多的, 会引起运行卡顿, 所以该内容需要根据不同情况进行调整
    """

    _log = Vlog().vlog

    _virtualenv_file_name = "_virtualenv.pth"

    root_path = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
    text_content = ""

    for root, dirs, files in os.walk(root_path):
        if _virtualenv_file_name in files:
            _virtualenv_dir = os.sep.join([root, _virtualenv_file_name])

        elif "__pycache__" in root:
            continue

        elif ".git" in root:
            continue

        elif "logs" in root:
            continue

        elif ".env" in root:
            continue

        elif "frontend" in root:
            continue

        elif "reports" in root:
            continue

        text_content += (root + "\n")

    with open(_virtualenv_dir, "w", encoding="utf-8") as open_virtualenv_dir:
        _log.info("打开 pth 文件: <%s> 进行写入...", _virtualenv_file_name)
        open_virtualenv_dir.write("import _virtualenv" + ("\n" * 3))
        open_virtualenv_dir.write(text_content)
        _log.info("写入 pth 文件: <%s> 完毕...", _virtualenv_file_name)


if __name__ == '__main__':
    _add_rootdir_into_virtualenvpth()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

呀丶胖企鹅

感谢老板的支持

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

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

打赏作者

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

抵扣说明:

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

余额充值