You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Python 2.7无法从独立分区导入自定义模块问题求助

解决Python跨分区导入模块失败的问题

别担心,Python完全支持从其他分区导入模块,你的问题和分区无关,核心是Python的模块搜索路径没包含D盘的scripts目录——系统的PATH环境变量管的是系统找可执行文件的路径,而Python找模块看的是sys.path列表。

下面给你几个可行的解决办法:

1. 临时解决:在脚本开头添加路径

直接在neue_aufgabe.py的最顶部加入这段代码,把D盘的scripts目录手动加入Python的搜索路径:

import sys
import os
# 如果脚本直接放在D:\scripts下,直接添加该路径即可
sys.path.append("D:\\scripts")
# 要是脚本在scripts的子目录里,可以用下面的代码自动获取上级目录
# script_dir = os.path.dirname(os.path.abspath(__file__))
# sys.path.append(os.path.dirname(script_dir))

这种方法只对当前脚本生效,适合临时测试。

2. 永久解决:设置PYTHONPATH环境变量

如果想让所有Python脚本都能自动找到D盘的模块,就设置PYTHONPATH

  • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
  • 在「系统变量」区域点击「新建」,变量名填PYTHONPATH,变量值填D:\scripts
  • 重启你的命令行窗口或者IDE,之后Python会自动把这个目录加入sys.path

3. 检查目录结构与包标识

还要确认你的目录结构是正确的,并且每个包目录下都有__init__.py文件(Python 2.7必须要有,空文件就行):

D:\scripts\
    CustomUtils\
        __init__.py
        UI\
            __init__.py
            PyQtUI.py
    neue_aufgabe.py

如果缺少__init__.py,Python会把这个目录当成普通文件夹,而不是可导入的包。

验证方法

你可以打开Python解释器,输入下面的命令,看看D:\scripts是否在输出的列表里:

import sys
print(sys.path)

如果能看到这个路径,说明设置成功了,再运行脚本应该就能正常导入模块了。

内容的提问来源于stack exchange,提问作者Niko

火山引擎 最新活动