2017-08-16 38 views
2

我已經爲我的瓶項目在Python瓶相對導入似乎不工作

├── API 
│   ├── __init__.py 
│   ├── controllers.py 
│   ├── models.py 
│   └── test 
│    ├── first_test.py 
│    
├── config.py 
├── requirements.txt 
├── run.py 
└── setup.py 

以下目錄結構我setup.py看起來像以下:

from setuptools import setup 

    setup(
     name='project_name', 
     packages=['API'], 
     include_package_data=True 
    ) 

我很關心如何我可以將我的modelsapp (__init__)導入我的測試文件(first_test.py)。

所以,到目前爲止,我已經試過

from project_name.API import app 

gives from project_name.API import app 
E ImportError: No module named project_name.API 

from ..API import app 
from ..API import app 
E ValueError: Attempted relative import in non-package 

from .. import app 
from .. import app 
E ValueError: Attempted relative import in non-package 

我想不出如何導入的文件。另外,我運行的測試文件爲py.test API/test/first_test.py

+0

我認爲最好的方法是在github上下載一些燒瓶骨架。我更喜歡RealPython的「Flask-Skeleton」。一切都在那裏工作,你可以很容易地找出如何正確地做到這一點。 –

回答

0

一種解決方案是在項目的根目錄下創建一個setup.py文件。

然後,您可以使用畫中畫

pip install --editable . 

通過這種方式安裝你的應用程序,你可以從first_test.py文件導入您的應用程序。

from API import app 

當然,最後一個導入語句取決於應用程序對象所在的位置。

欲瞭解更多信息,請參閱燒瓶回購中的minitwit示例。

minitwit

希望,它幫助。