Virtualenv - DeprecationWarning:不推荐使用imp模块以支持importlib

问题描述 投票:0回答:2

我正在使用pipenv安装beautifulsoup,由于某种原因我得到了弃用警告。 (对于上下文,我使用brew安装python,使用pip3安装pipenv):

Creating a virtualenv for this project...
Pipfile: /Users/kylemart/Desktop/test/Pipfile
Using /usr/local/bin/python3.7m (3.7.0) to create virtualenv...
⠋Running virtualenv with interpreter /usr/local/bin/python3.7m
Using base prefix '/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7'
/usr/local/lib/python3.7/site-packages/virtualenv.py:1041: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
New python executable in /Users/kylemart/.local/share/virtualenvs/test-F6PO10ji/bin/python3.7
Also creating executable in /Users/kylemart/.local/share/virtualenvs/test-F6PO10ji/bin/python
Installing setuptools, pip, wheel...done.
Setting project for test-F6PO10ji to /Users/kylemart/Desktop/test

Virtualenv location: /Users/kylemart/.local/share/virtualenvs/test-F6PO10ji
Installing beautifulsoup4...
Collecting beautifulsoup4
  Using cached https://files.pythonhosted.org/packages/21/0a/47fdf541c97fd9b6a610cb5fd518175308a7cc60569962e776ac52420387/beautifulsoup4-4.6.3-py3-none-any.whl
Installing collected packages: beautifulsoup4
Successfully installed beautifulsoup4-4.6.3

Adding beautifulsoup4 to Pipfile's [packages]...
Installing dependencies from Pipfile.lock (4df8f1)...
  🐍   ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 1/1 — 00:00:00
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.

我该如何解决这个问题?

python-3.x virtualenv homebrew pipenv
2个回答
0
投票

我也遇到了同样的问题,但我的情况是sklearn Library,为了修复警告,这就是我所做的(你也可以这样做):

  1. 使用名为cloudpickle.py的编辑权限打开该文件,该权限位于此位置\sklearn\externals\joblib\externals\cloudpickle\cloudpickle.py
  2. import impfrom imp import find_module替换为文件顶部的import importlib
  3. 找到名为find_module的函数,并用file, path, description = find_module(path)替换file, path, description = importlib.utils.find_spec(path)

所以,总而言之,你必须在文件中用imp module替换importlib的提及错误。在您的情况下,该文件存在于/usr/local/lib/python3.7/site-packages/virtualenv.py

您可以参考https://docs.python.org/3/library/imp.htmlhttps://docs.python.org/3/library/importlib.html#module-importlib获取有关该模块的更多信息。


0
投票

我也面临同样的问题。在我的Linux机器上,我只是删除已安装的软件包numpy和pandas并重新安装。最后我的问题解决了..

试试这个..

pip uninstall pandas
pip uninstall numpy
pip install pandas
pip install numpy
© www.soinside.com 2019 - 2024. All rights reserved.