Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在python 3.6中pip安装pickle_Python_Python 3.x_Python 3.6_Pickle - Fatal编程技术网

无法在python 3.6中pip安装pickle

无法在python 3.6中pip安装pickle,python,python-3.x,python-3.6,pickle,Python,Python 3.x,Python 3.6,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&qu

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

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
我们如何在python 3.6(32位)中安装pickle?

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

import pickle

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

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

默认情况下,Pickle是为Python 2和Python 3安装的模块。有关和,请参见标准库

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

import pickle
print(pickle.__doc__)
这将打印Pickle文档,向您展示它提供的所有函数(以及更多)

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

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

pickle的
没有找到匹配的发行版的原因是,包含的包的库无法通过pip获得,因为您已经有了它们(我昨天在尝试安装集成包时发现了这一点)


如果它运行时没有出现错误,但没有按预期工作,我会认为您在某个地方犯了错误(也许可以快速检查您在文档中使用的函数)。Python的错误信息非常丰富,因此我们通常知道是否有问题。

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

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

我的环境详细信息如下所示:我结束时遵循的步骤

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
根据文档,显然Python3.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
>>>
因此,PythonV3.7肯定不需要pip安装pickle

$pip安装pickle 5
将pickle5作为pickle导入
pb=pickle.pickle缓冲区(b“foo”)
数据=pickle.dumps(pb,协议=5)
断言pickle.loads(数据)==b“foo”
这个包对Python 3.8.3中pickle模块中添加的所有特性和API进行了后台移植,包括PEP 574的添加。它应该与Python 3.5、3.6和3.7配合使用

基本用法与pickle模块类似,只是要导入的模块是pickle 5:


它不包括在标准库中吗?是什么让你们认为你们并没有它?泡菜在标准图书馆里。你怎么发现它没有安装?@satyaki:作为对有用解决方案的感谢,请接受其中一个答案。我正在尝试相同的代码,但我的打印输出是[u'MMM]idk这是什么意思这是确认安装了pickle的一个好方法,但这是否解决了您的错误?它确实解决了我的问题,因为我成功地执行了我的程序,并且它按预期创建了两个.pkl文件。谢谢。这个解决方案对我有效。其他解决方案无效。