我有一个python脚本,我想部署到各种PC上运行测试,我需要使用第三方库pysnmp
。由于我不想在每台目标PC上手动安装pysnmp
,我想我可以将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
只要我在包含eggs/
的目录中执行脚本,这就可以正常工作,但它似乎相当手动和杂乱。是否有一种可移植的方式告诉python只要在我想要导入的时候搜索[path to module]/eggs/
?
答案 0 :(得分:5)
您想使用virtualenv
和virtualenvwrapper
。这些是为Python程序创建非全局环境的非常常见且广泛使用的方法。
这是一个很好的介绍:
答案 1 :(得分:1)
我使用的解决方案是获取脚本的目录(例如:os.path.dirname(__file__)
),然后在添加到sys.path
时使用其绝对路径。