You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 16.04添加Python路径失败:Scrapy项目模块导入出错求助

解决Scrapy项目ImportError的问题

嘿,我看你在配置PYTHONPATH的时候踩了几个小坑,咱们一步步来把这个问题搞定:

1. 先修正环境变量的语法错误

你的.bash_profile里有两个明显的语法问题:

  • Linux命令是区分大小写的,EXPORT得改成小写的export
  • 变量赋值和导出命令要分开写,或者合并成一行但别留多余空格

你之前的错误写法:

PYTHONPATH=$PYTHONPATH:/home/john/Desktop/myscraper/ EXPORT $PYTHONPATH

改成下面两种正确写法的任意一种就行:

# 写法一:分两行更清晰
PYTHONPATH=$PYTHONPATH:/home/john/Desktop
export PYTHONPATH

# 写法二:合并成一行
export PYTHONPATH=$PYTHONPATH:/home/john/Desktop

⚠️ 重点提醒:我把路径改成了/home/john/Desktop而不是/home/john/Desktop/myscraper!因为你要导入的是myscraper.items,Python需要找到myscraper这个模块所在的父目录(也就是Desktop),如果把myscraper本身的目录加到PYTHONPATH,Python会在里面找myscraper子模块,自然找不到——这才是你报错的核心原因。

2. 换个更靠谱的配置文件(Ubuntu环境)

Ubuntu默认情况下,非登录shell不会加载.bash_profile,而是优先读~/.bashrc。所以把上面的配置加到~/.bashrc里更稳妥,这样每次打开终端或者运行脚本时环境变量都会自动生效。

3. 让配置立即生效,不用重启终端

改完配置文件后,直接跑下面的命令让新配置生效:

source ~/.bashrc

你可以用这个命令验证PYTHONPATH是否设置正确:

echo $PYTHONPATH

输出里应该能看到/home/john/Desktop。

4. 确保你的项目是合法的Python模块

检查/home/john/Desktop/myscraper目录下有没有__init__.py文件——哪怕是空文件也行。如果没有,赶紧创建一个:

touch /home/john/Desktop/myscraper/__init__.py

只有包含这个文件的目录,Python才会把它当成可导入的模块。

5. 临时测试方案(不想改环境变量的话用这个)

如果只是想快速验证问题,也可以在你的Python脚本开头临时加一行路径:

import sys
sys.path.append('/home/john/Desktop')

# 之后再正常导入你的模块
from myscraper.items import YourItemClass

6. 最后确认项目结构

确保你的Scrapy项目结构是标准的,大概长这样:

/home/john/Desktop/
└── myscraper/
    ├── __init__.py
    ├── items.py
    ├── spiders/
    │   ├── __init__.py
    │   └── your_spider.py
    └── settings.py(其他Scrapy默认文件)

按上面的步骤操作完,再运行你的Python文件,应该就能解决ImportError: No module named myscraper.items的问题了。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:20:25