python动态导入检查是否存在_Python动态导入在Virtualen中找不到包

第三个无关的细节是问题所在:pyenv。在

有一个bug报告here,但长话短说,pyenv使用垫片来拦截包导入并正确路由它们。在

这意味着pyenv必须在这条道路上混日子。当我直接运行python时,这些垫片在python路径中很明显:[dnelson@blueharvest somedir]$ python

Python 2.7 (r27:82500, Jun 1 2015, 15:01:57)

[GCC 4.9.2 20150212 (Red Hat 4.9.2-6)] on linux3

Type "help", "copyright", "credits" or "license" for more information.

>>> import site

>>> site.getsitepackages()

['/home/dnelson/.pyenv/versions/2.7/lib/python2.7/site-packages', '/home/dnelson/.pyenv/versions/2.7/lib/site-python']

>>> site.PREFIXES

['/home/dnelson/.pyenv/versions/2.7', '/home/dnelson/.pyenv/versions/2.7']

>>>

但是,在动态导入的包中,相同的代码会导致以下输出:

^{pr2}$

因此,问题似乎是pyenv在动态导入过程中没有发挥它的填充魔法。在

{pip1要解决的问题是动态安装,而不是强制安装。(如果您以前安装了软件包以强制重新安装,还可以添加一个-I)

也可以通过使用sys.path.append将安装位置(在我的例子中,/usr/lib/python2.7/site-packages)附加到python路径中来解决这个问题,但这很难闻,而且可能会给其他人带来麻烦。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值