pipenv安装错误ImportError:无法导入名称“ ensure_file_on_disk”

时间:2020-06-30 09:55:25

标签: python windows pipenv

我正在尝试使用pipenv 2018.11.26Windows [Version 10.0.14393]上的Python 3.5.2 (Anaconda 4.1.1 (64-bit))创建一个python虚拟环境。这些都是我无法更改的必填设置。

我收到以下神秘错误:

C:\project_path\pipenv install

Creating a virtualenv for this project…
Pipfile: C:\project_path\Pipfile
Using C:/Anaconda3/pythonw.exe (3.5.2) to create virtualenv…
[  ==] Creating virtual environment...ImportError: cannot import name 'ensure_file_on_disk'

Failed creating virtual environment
[pipenv.exceptions.VirtualenvCreationException]:   File "c:\anaconda3\lib\site-        packages\pipenv\cli\command.py", line 254, in install
[pipenv.exceptions.VirtualenvCreationException]:           editable_packages=state.installstate.editables,
[pipenv.exceptions.VirtualenvCreationException]:   File "c:\anaconda3\lib\site-    packages\pipenv\core.py", line 1741, in do_install
[pipenv.exceptions.VirtualenvCreationException]:       pypi_mirror=pypi_mirror,
[pipenv.exceptions.VirtualenvCreationException]:   File "c:\anaconda3\lib\site-    packages\pipenv\core.py", line 574, in ensure_project
[pipenv.exceptions.VirtualenvCreationException]:       pypi_mirror=pypi_mirror,
[pipenv.exceptions.VirtualenvCreationException]:   File "c:\anaconda3\lib\site-    packages\pipenv\core.py", line 506, in ensure_virtualenv
[pipenv.exceptions.VirtualenvCreationException]:       python=python, site_packages=site_packages,     pypi_mirror=pypi_mirror
[pipenv.exceptions.VirtualenvCreationException]:   File "c:\anaconda3\lib\site-    packages\pipenv\core.py", line 935, in do_create_virtualenv
[pipenv.exceptions.VirtualenvCreationException]:       extra=[crayons.blue("{0}".format(c.err)),]
[pipenv.exceptions.VirtualenvCreationException]:
Failed to create virtual environment.

主要原因似乎是导入错误,但是找不到名为ensure_file_on_disk的东西。

我尝试卸载pipenv并重新安装,但无济于事。

此外,由于我在代理后面运行,因此我创建了系统环境变量no_proxyhttp_proxyhttps_proxy,但它们也没有起作用。

顺便说一句,如果我尝试运行pipenv shell,它会给我完全相同的错误,因此,这似乎根本不是连接问题。

你们有没有遇到过这个问题?

谢谢

4 个答案:

答案 0 :(得分:2)

我通过卸载virtualenv软件包并重新安装了一个兼容版本(我发现是20.0.25

)解决了该问题

答案 1 :(得分:2)

我解决了这个问题。就我而言,这是因为安装了多个版本的virtualenv。我多次使用pip3 uninstall virtualenv删除了所有版本。此后,我再次安装了最新的virtualenv。

答案 2 :(得分:0)

pip3 install --user --upgrade cython virtualenv==20.0.28

答案 3 :(得分:0)

就我而言,更新 pip 有帮助

select distinct z.id_zamowienia as "zamowienie", z.potrawy_id as "Potrawa", p.nazwa as "Nazwa potrawy", z.ilosc as ILOSC, count(*) over(partition by z.potrawy_id, z.id_zamowienia) * p.cena AS "CENA" from potrawa p, menu m, zamowienie z where p.id_potrawy = m.potrawa_id and m.potrawa_id = z.potrawy_id

接下来卸载 virtualenv

python3.6 -m pip install --upgrate pip

并安装

python3.6 -m pip uninstall virtualenv