Python Flask、Heroku和Github依赖项/文件结构

Python Flask、Heroku和Github依赖项/文件结构,python,heroku,github,dependencies,flask,Python,Heroku,Github,Dependencies,Flask,在flask/heroku/github的整个业务中都是初学者,但现在已经使用python好几年了,并且有过使用tortoise SVN的经验。我一直在学习如何通过这个链接将代码推送到heroku的教程,经过多次修改后,我成功地上传了我的web应用程序。然而,我确实错过了一些东西 目前在项目中,我有一个文件结构来组织不同的过程(例如webservice调用和数据库处理),然后通过以下代码将这些过程导入主应用程序: ## Webservices dirname, filename = os.pat

在flask/heroku/github的整个业务中都是初学者,但现在已经使用python好几年了,并且有过使用tortoise SVN的经验。我一直在学习如何通过这个链接将代码推送到heroku的教程,经过多次修改后,我成功地上传了我的web应用程序。然而,我确实错过了一些东西

目前在项目中,我有一个文件结构来组织不同的过程(例如webservice调用和数据库处理),然后通过以下代码将这些过程导入主应用程序:

## Webservices
dirname, filename = os.path.split(os.path.abspath(__file__))
WSdirname = dirname + '\\WebServices\\'
sys.path.append(WSdirname)

import WebservicesModule as WSmodule # Module resides in "WebSerivices" folder
这意味着文件存储在如下结构中

AppFolder\
    app.py
    WebServices\
        WebservicesModules.py
        ...
    Database\
        DatabaseModules.py
        ...
在当地,这是可行的。然而,一旦git将其推送到heroku,代码似乎就无法访问
WebservicesModule
模块。在表格中给出错误

导入错误:没有名为WebservicesModule的模块

解释为什么我有这个文件结构;由于将需要大量Web服务,因此将它们包含在同一文件夹中更容易。类似地,对于数据库操作等

我的问题是。我的代码是不是很糟糕,就是说heroku不允许?或者git hub没有将我的文件上传到heroku,因此无法找到它们(尽管在主目录的文件结构中)?还是有什么我不知道的问题?我是否需要在requirements.txt中将这些模块声明为依赖项,尽管在代码中这样做


为您能提供的任何帮助干杯:)

问题是您在本地开发的是Windows,而Heroku的Slug使用的是Linux的一些变体
\
在Windows上是目录分隔符,但在Linux上是目录分隔符

不要硬编码
\WebServices\
使用
os.path.join
加入路径和子目录:

WSdirname = os.path.join(dirname, "WebServices")
这将确保无论您部署到哪个平台,都使用了正确的目录分隔符