python用pyinstaller打包后无法判断是否拥有第三方库

python用pyinstaller打包后无法判断是否拥有第三方库
我是python初学者,小小白一个,想写个代码自己装第三库,比如我输入一个已经安装好的库,就显示已安装,输入一个没安装的库,会自己帮我安装但是发现一个问题

def isinstalled(item):
    code = 'import ' + item
    try:
        exec(code)
    except ImportError:
        return False
    else:
        return True
def isinstalled(item):
    try:
        __import__(item)
    except ImportError:
        return False
    else:
        return True

上面那个两个函数(其实是一个,但是遇到同样的问题)在pycharm运行后可以有效判断我有没有安装过我输入的库名,但是用pyinstaller打包出来整个代码后,发现运行和pycharm运行的不一样,发现不管输入已经安装过的库还是还没安装的库这个函数都只返回False,然后我上网搜索资料后,尝试把函数改成

def isinstalled(item):
    all = os.popen('pip list').read()
    if item in all:
        return True
    else:
        return False

整个代码用pyinstaller打包后,运行exe和在pycharm里面运行的效果相同,但是由于是遍历整个库名时间会很长,上面那个函数就很快,但是打包出来就只会返回False,有大佬知道是为什么吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值