无法在Python3.6中pip安装pickle

2024-06-26 17:16:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图运行以下代码:

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()

它不会抛出任何错误,但我意识到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

我试过谷歌,但没有找到解决办法。请帮忙。 如何在Python3.6(32位)中安装pickle


Tags: textimportforbssaveastablefind
3条回答

Pickle是默认为Python 2和Python 3安装的模块。请参阅3.6.42.7的标准库。

为了证明我所说的是正确的,请运行以下脚本:

import pickle
print(pickle.__doc__)

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

或者您可以启动集成的Python3.6模块文档并在那里进行检查。

根据经验:如果您可以导入模块而不产生错误,那么它将被安装

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

如果它运行时没有错误,但没有像预期的那样工作,我认为您在某个地方犯了错误(也许可以快速检查您在文档中使用的函数)。Python提供了很多关于它的错误的信息,所以我们通常都知道是否出了问题。

^{} module是Python中标准库的一部分已经有很长一段时间了,因此不需要通过pip安装它。我想知道您的IDE或命令行是否没有因为某种原因而混乱,以至于找不到python安装路径。请检查您的%PATH%是否包含指向python的路径(例如C:\Python36\或类似的路径),或者您的IDE是否正确地检测到python安装的根路径。

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

相关问题 更多 >