Python 如何导入安装在主目录中的模块?

Python 如何导入安装在主目录中的模块?,python,unix,module,package,pip,Python,Unix,Module,Package,Pip,我在我的主目录中安装了Python3.4.3,因此它位于/home/jdoe/.local/bin/Python3下,我通过执行pip安装--user package\u name安装了一些外部模块。但是,现在在编写python脚本时,找不到python查找的包,因为它正在usr/lib中查找,但包不在那里。如何导入模块以便python查看安装在我个人主目录中的站点包?将路径附加到path变量中 import sys sys.path.append("<path>") 导入系统 s

我在我的主目录中安装了Python3.4.3,因此它位于
/home/jdoe/.local/bin/Python3
下,我通过执行
pip安装--user package\u name
安装了一些外部模块。但是,现在在编写python脚本时,找不到python查找的包,因为它正在
usr/lib
中查找,但包不在那里。如何导入模块以便python查看安装在我个人主目录中的站点包?

将路径附加到path变量中

import sys
sys.path.append("<path>")
导入系统 sys.path.append(“”) 但是,您是否确定您的
pip安装--user
实际安装了python3.4包,通常不需要为pip安装包的路径添加任何路径

pip--version

的输出是什么?如中所述,基本上有两个选项:使用
PYTHONPATH
sys.append

是一个环境变量,用于扩展Python搜索模块的目录。可以在运行python之前在命令行中设置:

$ export PYTHONPATH=$PYTHONPATH:<Path to Module>
$ python

假设我有一个脚本属于
$HOME/repo/code/sample.py
,我想将它导入
$HOME/repo2/code/sample.py
中,一种方法是:

import os 
import sys 
env=os.path.expanduser(os.path.expandvars($HOME/repo) # "source" directory with python script
sys.path.insert(0, env)
import code.sample 

这将删除对导出PYTHONPATH的依赖关系,并允许您轻松地在文件/文件夹之间导入,就像它们是任何其他模块一样。

我特别安装了
/home/jdoe/.local/bin/python3.4-m pip install——用户包名称
import os 
import sys 
env=os.path.expanduser(os.path.expandvars($HOME/repo) # "source" directory with python script
sys.path.insert(0, env)
import code.sample