我有两个Python文件,一个存储在// store the app in a variable so you can write more modules / directives with it
var app = angular.module('app', ['ngRoute', 'ui.bootstrap' ])
// Retrieves Posts
app.controller('Main', function($scope, $http, $routeParams, $q){
// create a deferred object
var def = $q.defer();
var promises = []; // Array of promises for our deferred wrapper
// All HTTP requests return a promise object; push it on to our array
promises.push($http.get('wp-json/posts/').success(function(res){
$scope.posts = res;
}));
// Push the 2nd promise
promises.push($http.get('wp-json/media/').success(function(res){
$scope.media = res;
}));
// Process when all are complete
def.all(promises).then(function(res)
{ // Successful (promise resolved)
// Loop through the results in $scope.posts / $scope.media, build your objects
}, function(res)
{ // Failed (promise rejected)
// Do something here if a promise is rejected
});
});
位置,另一个存放在位置/Python/plata.py
中。这就是我的/Python/tao/mock.py
文件::
plata.py
我正在尝试在def printSomething():
print 'This is a test.'
文件中导入printSomething()
函数,如下所示:
mock.py
然而,这是我遇到的错误:
from . import plata
plata.printSomething()
我已将Traceback (most recent call last):
File "/home/manas/Python/tao/mock.py", line 1, in <module>
from . import plata
ValueError: Attempted relative import in non-package
个文件也包含在地理位置__init__.py
和/Python/__init__.py
中。但是,我仍然遇到同样的错误。
这里看起来有什么问题?
答案 0 :(得分:4)
出于明显的安全原因,包的父目录 not 包含在sys.path
中。但是,无论如何......
import sys
sys.path.append('..')
import plata
希望这能帮到你!
答案 1 :(得分:2)
有关Module vs Package的说明,请参阅What's the difference between a Python module and a Python package?。缺点是您的Python
目录不是包。 plata.py
是一个独立的模块,应该导入import plata
。