将python包导入python模块时导入错误
我创建了一个python包,即package\u demo,它有三个python模块init.py、employee.py和manager.py employee.py:-将python包导入python模块时导入错误,python,eclipse,importerror,Python,Eclipse,Importerror,我创建了一个python包,即package\u demo,它有三个python模块init.py、employee.py和manager.py employee.py:- def topSalary_employee(salary_list): return max(salary_list); def leastSalary_employee(salary_list): return min(salary_list); def avarageSalary_employee(
def topSalary_employee(salary_list):
return max(salary_list);
def leastSalary_employee(salary_list):
return min(salary_list);
def avarageSalary_employee(salary_list):
summation=0;
for salary in salary_list:
summation+=salary;
return summation;
def topSalary_manager(salary_list):
return max(salary_list);
def leastSalary_manager(salary_list):
return min(salary_list);
def avarageSalary_manager(salary_list):
summation=0;
for salary in salary_list:
summation+=salary;
return summation;
from manager import*;
from employee import*;
import package_demo
employee_salary_list = [12000,23000,18000,25000,8000,17000];
manager_salary_list = [32000,45000,28000,50000,38000,44000];
print("\t...Manager Salary Details...");
print("Highest salary of Manager : ",package_demo.topSalary_employee(manager_salary_list));
print("Lowest salary of Manager : ",package_demo.leastSalary_manager(manager_salary_list));
print("Average salary of Manager : ",package_demo.avarageSalary_manager(manager_salary_list));
print("\t...Employee Salary Details...");
print("Highest salary of Employee : ",package_demo.topSalary_employee(employee_salary_list));
print("Lowest salary of Employee : ",package_demo.leastSalary_employee(employee_salary_list));
print("Average salary of Employee : ",package_demo.avarageSalary_employee(employee_salary_list));
manager.py:-
def topSalary_employee(salary_list):
return max(salary_list);
def leastSalary_employee(salary_list):
return min(salary_list);
def avarageSalary_employee(salary_list):
summation=0;
for salary in salary_list:
summation+=salary;
return summation;
def topSalary_manager(salary_list):
return max(salary_list);
def leastSalary_manager(salary_list):
return min(salary_list);
def avarageSalary_manager(salary_list):
summation=0;
for salary in salary_list:
summation+=salary;
return summation;
from manager import*;
from employee import*;
import package_demo
employee_salary_list = [12000,23000,18000,25000,8000,17000];
manager_salary_list = [32000,45000,28000,50000,38000,44000];
print("\t...Manager Salary Details...");
print("Highest salary of Manager : ",package_demo.topSalary_employee(manager_salary_list));
print("Lowest salary of Manager : ",package_demo.leastSalary_manager(manager_salary_list));
print("Average salary of Manager : ",package_demo.avarageSalary_manager(manager_salary_list));
print("\t...Employee Salary Details...");
print("Highest salary of Employee : ",package_demo.topSalary_employee(employee_salary_list));
print("Lowest salary of Employee : ",package_demo.leastSalary_employee(employee_salary_list));
print("Average salary of Employee : ",package_demo.avarageSalary_employee(employee_salary_list));
init.py:-
def topSalary_employee(salary_list):
return max(salary_list);
def leastSalary_employee(salary_list):
return min(salary_list);
def avarageSalary_employee(salary_list):
summation=0;
for salary in salary_list:
summation+=salary;
return summation;
def topSalary_manager(salary_list):
return max(salary_list);
def leastSalary_manager(salary_list):
return min(salary_list);
def avarageSalary_manager(salary_list):
summation=0;
for salary in salary_list:
summation+=salary;
return summation;
from manager import*;
from employee import*;
import package_demo
employee_salary_list = [12000,23000,18000,25000,8000,17000];
manager_salary_list = [32000,45000,28000,50000,38000,44000];
print("\t...Manager Salary Details...");
print("Highest salary of Manager : ",package_demo.topSalary_employee(manager_salary_list));
print("Lowest salary of Manager : ",package_demo.leastSalary_manager(manager_salary_list));
print("Average salary of Manager : ",package_demo.avarageSalary_manager(manager_salary_list));
print("\t...Employee Salary Details...");
print("Highest salary of Employee : ",package_demo.topSalary_employee(employee_salary_list));
print("Lowest salary of Employee : ",package_demo.leastSalary_employee(employee_salary_list));
print("Average salary of Employee : ",package_demo.avarageSalary_employee(employee_salary_list));
现在,我想将manager.py和employee.py的所有功能访问到另一个python模块中,即AAA.py,它位于包包\u demo之外
AAA.py:-
def topSalary_employee(salary_list):
return max(salary_list);
def leastSalary_employee(salary_list):
return min(salary_list);
def avarageSalary_employee(salary_list):
summation=0;
for salary in salary_list:
summation+=salary;
return summation;
def topSalary_manager(salary_list):
return max(salary_list);
def leastSalary_manager(salary_list):
return min(salary_list);
def avarageSalary_manager(salary_list):
summation=0;
for salary in salary_list:
summation+=salary;
return summation;
from manager import*;
from employee import*;
import package_demo
employee_salary_list = [12000,23000,18000,25000,8000,17000];
manager_salary_list = [32000,45000,28000,50000,38000,44000];
print("\t...Manager Salary Details...");
print("Highest salary of Manager : ",package_demo.topSalary_employee(manager_salary_list));
print("Lowest salary of Manager : ",package_demo.leastSalary_manager(manager_salary_list));
print("Average salary of Manager : ",package_demo.avarageSalary_manager(manager_salary_list));
print("\t...Employee Salary Details...");
print("Highest salary of Employee : ",package_demo.topSalary_employee(employee_salary_list));
print("Lowest salary of Employee : ",package_demo.leastSalary_employee(employee_salary_list));
print("Average salary of Employee : ",package_demo.avarageSalary_employee(employee_salary_list));
但当我运行AAA.py程序时,它会显示如下错误
Traceback (most recent call last):
File "F:\Document\Files\Coding\Java Eclipse\Python Project\First Project\src\AAA.py", line 1, in <module>
import package_demo
File "F:\Document\Files\Coding\Java Eclipse\Python Project\First Project\src\package_demo\__init__.py", line 1, in <module>
from manager import*;
ImportError: No module named 'manager'
回溯(最近一次呼叫最后一次):
文件“F:\Document\Files\Coding\Java Eclipse\Python Project\First Project\src\AAA.py”,第1行,在
导入软件包演示
文件“F:\Document\Files\Coding\Java Eclipse\Python Project\First Project\src\package\u demo\uuuu init\uuu.py”,第1行,在
从经理导入*;
ImportError:没有名为“manager”的模块
所有导入都从启动Python的目录进行计算,因此当init.py尝试导入manager时,Python将尝试从当前所在的目录而不是init.py所在的目录进行查看
您希望使用相对导入或将导入转换为绝对导入:
亲属:
from .manager import*;
from .employee import*;
绝对:
from package_demo.manager import*;
from package_demo.employee import*;
所有导入都是从启动Python的目录进行计算的,因此当init.py尝试导入manager时,Python将尝试从当前所在的目录而不是init.py所在的目录进行查看 您希望使用相对导入或将导入转换为绝对导入: 亲属:
from .manager import*;
from .employee import*;
绝对:
from package_demo.manager import*;
from package_demo.employee import*;
所有导入都是从启动Python的目录进行计算的,因此当init.py尝试导入manager时,Python将尝试从当前所在的目录而不是init.py所在的目录进行查看 您希望使用相对导入或将导入转换为绝对导入: 亲属:
from .manager import*;
from .employee import*;
绝对:
from package_demo.manager import*;
from package_demo.employee import*;
所有导入都是从启动Python的目录进行计算的,因此当init.py尝试导入manager时,Python将尝试从当前所在的目录而不是init.py所在的目录进行查看 您希望使用相对导入或将导入转换为绝对导入: 亲属:
from .manager import*;
from .employee import*;
绝对:
from package_demo.manager import*;
from package_demo.employee import*;
尝试
import manager.py
在执行import manager.py
之后,它不会运行。您的代码显示了几个新出现的错误。你有时间学习Python教程吗?这可能会很有帮助。@Morb:不,那肯定不行。这要求在名为manager
@Morb的包中提供一个名为py
的模块:如果您碰巧有一个名为manager/py.py
(对于较旧版本的Python,也包括manager/u u init__;.py
)的文件,那么这就行得通了。但是它永远找不到名为manager.py
的东西。(除非您编写自己的模块查找器并将其挂接到导入系统中…)尝试执行导入管理器.py后,它不会运行。您的代码显示了几个新出现的错误。你有时间学习Python教程吗?这可能会很有帮助。@Morb:不,那肯定不行。这要求在名为manager
@Morb的包中提供一个名为py
的模块:如果您碰巧有一个名为manager/py.py
(对于较旧版本的Python,也包括manager/u u init__;.py
)的文件,那么这就行得通了。但是它永远找不到名为manager.py
的东西。(除非您编写自己的模块查找器并将其挂接到导入系统中…)尝试执行导入管理器.py后,它不会运行。您的代码显示了几个新出现的错误。你有时间学习Python教程吗?这可能会很有帮助。@Morb:不,那肯定不行。这要求在名为manager
@Morb的包中提供一个名为py
的模块:如果您碰巧有一个名为manager/py.py
(对于较旧版本的Python,也包括manager/u u init__;.py
)的文件,那么这就行得通了。但是它永远找不到名为manager.py
的东西。(除非您编写自己的模块查找器并将其挂接到导入系统中…)尝试执行导入管理器.py后,它不会运行。您的代码显示了几个新出现的错误。你有时间学习Python教程吗?这可能会很有帮助。@Morb:不,那肯定不行。这要求在名为manager
@Morb的包中提供一个名为py
的模块:如果您碰巧有一个名为manager/py.py
(对于较旧版本的Python,也包括manager/u u init__;.py
)的文件,那么这就行得通了。但是它永远找不到名为manager.py
的东西。(除非您编写自己的模块查找器并将其挂接到导入系统中……)好的,不仅仅是启动Python的目录,还有sys.path
上的所有标准位置。但除此之外,解释得比我的更好,也更快。:)不仅是启动Python的目录,还有sys.path
上的所有标准位置。但除此之外,解释得比我的更好,也更快。:)不仅是启动Python的目录,还有sys.path
上的所有标准位置。但除此之外,解释得比我的更好,也更快。:)不仅是启动Python的目录,还有sys.path
上的所有标准位置。但除此之外,解释得比我的更好,也更快。:)