转换为EXE时,Python urlencode不起作用

时间:2018-04-16 22:28:49

标签: python-2.7

我使用pyinstaller将一些代码转换为exe,当我转换它时,urlencode停止工作。它在我转换它之前有效,这是我的代码。

import json, time, os, os.path, re, StringIO
from PIL import Image
from urllib import urlencode
import requests, base58
from BeautifulSoup import BeautifulSoup
import urllib.parse

    def search(self, CatalogContext = 1, PageNumber = 1, Subcategory = '', Category = '', SortType = '', AggregationFrequency = '', Keyword = ''):
    queryString = {}
    for key, value in locals().items():
        if (key != 'self' and key != 'queryString' and value != ''):
            queryString[key] = value
    queryString = urllib.urlencode(queryString)
    searchURL = 'https://search.roblox.com/catalog/json?{}'.format(queryString)
    try:
        request = requests.get(searchURL.format(queryString))
        if (request.status_code == 200):
            return request.json()
    except:
        pass
    return {}

抱歉,我不得不吃晚餐,但我没有解释。一旦编译成Exe python就说它没有定义。

1 个答案:

答案 0 :(得分:0)

我怀疑你已经意外地切换了python版本。

在python 3.x中,urlencode方法位于urllib.parse,而不是urllib

根据这些页面: