【问题标题】:Virtualenv - DeprecationWarning: the imp module is deprecated in favour of importlibVirtualenv - DeprecationWarning:不推荐使用 imp 模块以支持 importlib
【发布时间】:2018-09-22 00:15:48
【问题描述】:

我正在使用 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


    【解决方案1】:

    我也面临同样的问题,但我的情况是使用 sklearn 库,为了解决警告,这就是我所做的(你也可以这样做):

    1. 使用名为cloudpickle.py 的编辑权限打开文件,该文件位于此位置\sklearn\externals\joblib\externals\cloudpickle\cloudpickle.py
    2. 替换import impfrom imp import find_moduleimport 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 了解有关模块的更多信息。

    【讨论】:

      【解决方案2】:

      我也面临同样的问题。在我的 Linux 机器上,我只需删除已安装的软件包 numpypandas 并重新安装。终于解决了我的问题。。

      试试这个..

      pip uninstall pandas
      pip uninstall numpy
      pip install pandas
      pip install numpy
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-01-07
        • 2021-06-18
        • 2022-01-22
        • 2019-05-09
        • 2022-11-01
        • 2015-03-26
        相关资源
        最近更新 更多