python - Pipenv 没有创建 Pipfile 也没有在正确的位置创建环境
问题描述
我正在尝试使用 pipenv 为我的 python 程序创建一个虚拟环境。我的桌面上有一个文件夹(我们称之为“项目”)cd
。所以基本上我在C:\Users\my_user\Desktop\project\
。
我写pipenv shell
,我得到:
Using C:/Python39/python.exe (3.9.0) to create virtualenv...
[ =] Creating virtual environment...created virtual environment CPython3.9.0.final.0-64 in 446ms
creator CPython3Windows(dest=C:\Users\my_user\.virtualenvs\my_user-GweeH6qV, clear=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\my_user\AppData\Local\pypa\virtualenv)
added seed packages: pip==20.2.4, setuptools==51.0.0, wheel==0.36.2
activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
Successfully created virtual environment!
Virtualenv location: C:\Users\my_user\.virtualenvs\my_user-GweeH6qV
Launching subshell in virtual environment...
Microsoft Windows [Version 10.0.19041.746]
(c) 2020 Microsoft Corporation. All rights reserved.
(my_user-GweeH6qV) C:\Users\my_user>
基本上,它确实创建了一个虚拟环境,但我注意到我的 Pipfile 和 Pipfile.lock(以及一堆其他文件)不在我的项目目录中,而是在目录中C:\Users\my_user
。
为什么会这样?无论我做什么,我似乎都无法获得我的环境,并且我的 pipfiles 位于我桌面上的项目目录中。
造成这种情况的一个可能原因可能是我确实easy_install.exe pip
(或类似的方式)安装了 pip,因为我在不久前遇到了问题。
以下是我尝试过的一些事情:
- 跑步
pipenv install ________
而不是pipenv shell
- 将项目文件夹移动到不同的文件夹(下载、文档)并
pipenv shell
从那里运行。 - 将一个文件夹放在我的项目文件夹中,然后
pipenv shell
从该文件夹运行。这实际上确实有效,尽管我不希望我的 pipenv 位于项目的子文件夹中,我希望它位于项目文件夹本身中。
解决方案
我通过简单地删除 Pipfile 和 Pipfile.lock 文件,C:\Users\my_user
然后在我的C:\Users\my_user\Desktop\project
运行中解决了这个问题pipenv install <package>
。
问题的原因很可能是在某些时候我可能打开了一个 pipenv C:\Users\my_user
,并且由于 pipenv 不允许虚拟环境中的虚拟环境,它不会让我在里面创建一个C:\Users\my_user\Desktop\project
。
推荐阅读
- sql - 后台版本不支持设计数据库图
- java - Spring Boot 启动构建 JPA 容器非常慢
- python - 在 python 中使用正则表达式将文本文件拆分为单词
- javascript - 从纯 Javascript/JQuery 调用 Angular js 函数
- php - 我们如何更改依赖 composer.lock 文件的版本要求?
- python - 如何修复此“TypeError:float() 参数必须是字符串或数字,而不是‘方法’”错误?
- hibernate - 使用 SpringBoot Hibernate 和 Maven 的 Oracle 数据库连接错误
- c# - 将投影点映射到真实世界的点
- c# - 从 32 位应用程序获取 64 位应用程序的进程信息
- django - Python 3 TypeError:需要字符串参数,得到 'bytes' casperjs_capture