问题描述
我正在安装依赖于Y软件的python X模块。
有两种版本的Y软件,一种是操作系统随附的,另一种是我将其安装到自定义文件夹中的。
当我安装“ python X”模块时,我要求它从我的自定义文件夹中获取Y作为依赖。
安装成功,但是以应用程序用户身份运行“ python X”模块时,它将始终使用操作系统随附的Y(它使用Y中的库)。
如果我们假设a.py使用“ python X”模块和
如果我跑步
python a.py
然后“ python X”模块从我的自定义文件夹中获取Y,但是当我这样做时
sudo -u user1 python a.py
然后,“ python x”模块正在从操作系统中安装Y。
您能让我知道如何使“ python x”模块始终从我的自定义文件夹中为任何用户使用。
解决方法
假设“来自我的自定义文件夹”, 您可以导入“ folder.module”。
示例:
#Test3.py
from Sub.Add2 import Add1 as SubAdd1
import Sub.Add2
import Add2
print( 'from Sub.Add2 import Add1 as SubAdd1,call SubAdd1 :' )
SubAdd1()
print( 'import Sub.Add2,call Sub.Add2.Add1(),Sub.Add2.Add2() :' )
Sub.Add2.Add1()
Sub.Add2.Add2()
print( "import Add2,call by 'object'.function name :" )
Add2.Add1()
Add2.Add2()
#Sub/Add2.py
def Add1():
print( "Sub.Add2.py : Add1() ",1 + 1 )
def Add2():
print( "Sub.Add2.py : Add2() ",2 + 2 )
当前文件夹中的Add2.py:
#Add2.py
def Add1():
print( "Add2.py : Add1() ",1 + 1 + 1 )
def Add2():
print( "Add2.py : Add2() ",2 + 2 + 2 )
> python Test3.py
from Sub.Add2 import Add1 as SubAdd1,call SubAdd1 :
Sub.Add2.py : Add1() 2
import Sub.Add2,Sub.Add2.Add2() :
Sub.Add2.py : Add1() 2
Sub.Add2.py : Add2() 4
import Add,call by 'object'.function name :
Add2.py : Add1() 3
Add2.py : Add2() 6