【问题标题】:Python module not found <project> only on VPS. works fine on local machine仅在 VPS 上找不到 Python 模块 <project>。在本地机器上工作正常
【发布时间】:2019-01-21 23:40:14
【问题描述】:

环境

  • VPS:ubuntu 16.04
  • Python 3.5
  • 本地:Mac

项目结构

  • inkedNewsCrawler
    • .git /
    • inkedNewsCrawler /(从这里开始的所有目录都包括“_ init _.py”)
      • _ 初始化 _.py
      • custom_crawler /
      • 蜘蛛/
      • 实用程序/
      • 等等....
    • readme.md
    • requirements.txt

这里是如何复制。

  • 在本地机器上工作,
  • 通过 git 推送。
  • 从服务器设置 VENV 中提取(包括 pip install..)。
  • 运行脚本 (&gt;&gt; from inkedNewsCrawler.custom_crawler import x)。

在本地机器上工作正常,但会提高

ImportError: 没有名为“inkedNewsCrawler”的模块

但是当我更改为from custom_crawler import x

在本地

ModuleNotFoundError: 没有名为“custom_crawler”的模块

在 VPS 上

工作正常!!! ???


我尝试过的事情

  1. 将项目根添加到 PYTHONPATH
  2. 三重检查点、venv 设置
  3. 在本地 jupyter notebook 上测试(导入项目有效)

【问题讨论】:

  • 当你说“运行我的代码”时,你在运行什么。
  • @BurhanKhalid 这是关于导入模块的。运行我的代码意味着>> import project.module

标签: python


【解决方案1】:

几天后,我找到了解决方案。

将项目根目录添加到 pyhtonpath

来自 python 外壳

import sys
sys.path.append("/path/to/your/project/root")

这与 _ _ init _ _.py 或其他内容无关。

【讨论】:

    猜你喜欢
    • 2013-04-18
    • 2019-10-12
    • 2018-01-19
    • 1970-01-01
    • 2018-03-07
    • 2012-11-13
    • 2020-12-26
    • 1970-01-01
    • 2020-08-03
    相关资源
    最近更新 更多