使用Python库而不是全局安装它们

Gil*_*pie 1 python egg pythonpath

我有一个python脚本,我想部署到各种PC运行测试,我需要使用第三方库pysnmp.由于我不想pysnmp在每台目标PC上手动安装,我想我可以将pysnmp(和相关的)eggs放在一个eggs/目录中,然后在导入之前将其附加到python路径:

import sys
sys.path.append("./eggs/pysnmp-4.2.5-py3.4.egg")
sys.path.append("./eggs/pyasn1-0.1.7-py3.3.egg")
from pysnmp.entity.rfc3413.oneliner import cmdgen
Run Code Online (Sandbox Code Playgroud)

只要我在包含的目录中执行脚本,这就像预期的那样工作eggs/,但它似乎相当手动和杂乱.是否有一种可移植的方式告诉python只是在[path to module]/eggs/我想要导入时搜索?

dka*_*ins 5

你想用virtualenvvirtualenvwrapper.这些是为Python程序创建非全局环境的非常常见且广泛使用的方法.

这是一个很好的介绍:

http://docs.python-guide.org/en/latest/dev/virtualenvs/