我非常新到Python。目前我正在嘗試PyCharm,並且遇到一些我在運行測試時無法解釋的奇怪行爲。Nosetest和進口
我目前工作的項目位於一個名爲PythonPlayground文件夾中。該文件夾包含一些子目錄。每個文件夾包含初始化 .py文件。一些文件夾包含nosetest測試。
當我運行從項目目錄內的命令行nosetest亞軍的測試,我必須把「PythonPlayground」在我所有的本地進口的前面。例如。導入所謂的「模式」,在該文件夾「UI」的模塊時,我不得不進口這樣的:
從PythonPlayground.ui.model進口*
但是,當我從內部運行測試Pycharm,我必須再次刪除前面的「PythonPlayground」,否則測試不起作用。就像這樣:
從ui.model進口*
我也嘗試了模擬框架,以及由於某種原因,這個框架總是需要的模塊的全名(包括「PythonPlayground」) 。不要緊,我是否運行從命令行或從內部PyCharm測試:
補丁(「PythonPlayground.ui.models.User」)作爲模擬:
有人能解釋對我的行爲有差異?什麼是正確的行爲?
這似乎是正確的,由[本]建議(http://stackoverflow.com/questions/5794502/pycharm-and-pythonpath-issue-how-and-why-pycharm -alter-python-import-logic)回答。 – Bakuriu
這確實是對的。將我的源文件移動到名爲「src」的目錄中,並將該目錄標記爲項目設置中的源目錄,解決了問題:) – svb