无法在python 3.6中安装pickle

sat*_*aki 18 python pickle

我正在尝试运行以下代码: -

import bs4 as bs
import pickle
import requests
import lxml

def save_sp500_tickers():
    resp = requests.get("https://en.wikipedia.org/wiki/List_of_S%26P_500_companies")
    soup = bs.BeautifulSoup(resp.text, "html5lib")
    table = soup.find("table", { "class" : "wikitable sortable"}) 
    # print(soup)
    # print(soup.table)

    tickers = []
    for row in table.findAll("tr")[1:]:
        ticker = row.findAll("td")[0].text
        tickers.append(ticker)
    with open("sp500tickers.pickle","wb") as f:
        pickle.dump(tickers, f)
    print(tickers)
#   return tickers
# save_sp500_tickers()
Run Code Online (Sandbox Code Playgroud)

它没有抛出任何错误,但我意识到没有安装pickle模块.我通过pip安装它并得到以下错误: -

D:\py_fin>pip install pickle
Collecting pickle
  Could not find a version that satisfies the requirement pickle (from versions:
 )
No matching distribution found for pickle
Run Code Online (Sandbox Code Playgroud)

我试过google'd,但没有得到解决方案.请帮忙.我们如何在python 3.6(32位)中安装pickle

sop*_*ros 22

pickle模块是Python中标准库的一部分,现在已经很长时间了,所以不需要通过它来安装它pip.我想知道你的IDE或命令行是不是以某种方式混乱,以便它找不到python安装路径.请检查您是否%PATH%包含python的路径(例如C:\Python36\或类似的东西),或者您的IDE是否正确检测到安装Python的根路径.


Amo*_*dar 11

您可以通过运行command pip install pickle pip install pickle-mixin。继续使用导入import pickle。然后可以正常使用。


Sim*_*mon 7

Pickle是默认情况下为Python 2和Python 3安装的模块。请参阅标准库以获取3.6.42.7

为了证明我的意思是正确的,请尝试运行以下脚本:

import pickle
print(pickle.__doc__)
Run Code Online (Sandbox Code Playgroud)

这将打印出Pickle文档,显示您提供的所有功能(还有更多功能)。

或者,您可以启动集成的Python 3.6模块文档并进行检查。

根据经验:如果可以导入模块而不会产生错误,则说明已安装

的原因No matching distribution found for pickle是因为包含的软件包的库无法通过pip获得,因为您已经拥有它们(我昨天在尝试安装集成软件包时发现了这一点)。

如果它运行时没有错误,但是没有按预期运行,我会认为您在某个地方犯了错误(也许快速检查一下您在文档中使用的功能)。Python的错误信息非常丰富,因此我们通常会知道某些错误。


小智 7

我有一个类似的错误&这就是我发现的。

我的环境详细信息如下:我最后遵循的步骤

c:\>pip --version
pip 20.0.2 from c:\python37_64\lib\site-packages\pip (python 3.7)

C:\>python --version
Python 3.7.6
Run Code Online (Sandbox Code Playgroud)

根据文档,显然,python 3.7 已经有了 pickle 包。所以它不需要任何额外的下载。我检查了以下命令以确保它有效。

C:\Python\Experiements>python
Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pickle
>>>
Run Code Online (Sandbox Code Playgroud)

所以,pip install picklePython v3.7 肯定不需要


Ole*_*zov 6

import pickle

intArray = [i for i in range(1,100)]
output = open('data.pkl', 'wb')
pickle.dump(intArray, output)
output.close()
Run Code Online (Sandbox Code Playgroud)

快速测试你的泡菜.pickle是标准python库的一部分,默认情况下可用.