我想在我的工作区中设置一个 python3 虚拟环境。我有两个版本的 python,安装在以下路径中:C:\Python\Python27\python2.exe C:\Python\Python38\python3.exe。我已经在 powershell 终端上检查过它们是否已正确安装。
我尝试了命令python3 -m venv .venv。它创建了一个.venv文件夹,但我收到以下错误消息:"Error: [Win Error2] The system cannot find the file specified。我的IDE是Visual Studio Code 1.39.2
另外,Python3被添加到变量环境中的路径中C:\Python\Python38
我也尝试使用该命令py -3 -m venv .venv,但后来我得到:
Python 3 not found! Installed Pythons found by C:\WINDOWS\py.exe
launchers for Windows
No Installed Pythons found
Run Code Online (Sandbox Code Playgroud)
我也已经执行了该命令Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process,但没有任何改变。
我的 settings.json 文件:
{ "python;pythonPath": "C:\\Python\\Python38\\python3.exe" }
Run Code Online (Sandbox Code Playgroud)
我的 pyvenv.cfg 文件:
home = C:\Python\Python38
include-system-site-package = false
version …Run Code Online (Sandbox Code Playgroud) 在我的项目中,我使用内置的 python 虚拟环境 ( python -m venv)。
为了设置环境变量,我将多个添加export VAR1=VALUE1到venv/bin/activate.
显然,当我删除 venv 并创建一个新的 venv 时,例如使用新的 python 版本,我的所有 env 变量都会丢失。
那么,有没有办法保存它们呢?也许可以在创建 venv 时定义 env 变量?
python environment-variables virtualenv python-3.x python-venv
我只是一个业余程序员,但我的项目变得越来越复杂,所以我想使用版本控制系统。GIT 似乎是显而易见的选择。我还想要一个更复杂的 IDE - 并且与 GIT / Github 集成,所以我选择了 Pycharm。
在我的前几个测试项目中,一切都很好。我可以提交更改并将它们推送到我的 GIThub,然后从另一台计算机中提取它们并拥有一个同步项目。
我了解虚拟环境的好处(尽管对于我的小项目来说似乎没有必要),但我对 Pycharm 似乎想要将文件放在哪里有点困惑。此外,现在当我推送到 Github 时,Venv 文件夹也会上传。我不明白为什么我想要 venv 在我的 Github 存储库中(或者我应该?),所以我将它添加到我的 .gitignore
/venv/
/MyProject/venv/
PycharmProjects/MyProject/venv/
Run Code Online (Sandbox Code Playgroud)
但它仍然存在,并且仍在更新。我尝试在命令行中删除它:
$ git rm -r venv/
Run Code Online (Sandbox Code Playgroud)
这搞乱了我在 Pycharm 中的环境(即使实际目录仍然存在)。
我做错了什么 - 我该如何解决?
非常感谢!
据我所知,使用 pipelinev install 的标准方法是在虚拟环境之外安装。然而,这似乎与虚拟环境pip install 内部的旧做法相悖。
有没有办法在虚拟环境(venv)中安装软件包pipenv?
如果我pip install在 venv 内怎么办?除了不注册安装之外Pipfile,还有什么区别?
会pipenv知道我是否pip install从外部进入 venv 内部?
非常感谢您的帮助。
我有一个requirements.yaml 文件,我想使用它创建一个python 虚拟环境。该文件看起来像这样
dependencies:
- python=3.7.5
- pip=19.3.1
- pip:
- jupyter==1.0.0
- pandas==1.0.0
- scikit-learn==0.22.1
- numpy==1.18.1
- matplotlib==3.1.3
- seaborn==0.10.0
- black==19.10b0
- haversine==2.2.0
- toml==0.10.0
- nose==1.3.7
Run Code Online (Sandbox Code Playgroud)
如何使用该文件创建新环境?
我正在使用 chromebook,使用 Debian。我需要运行终端命令python -m venv env,但是当我使用它时,我收到错误
The virtual environment was not created successfully because ensurepip is not
available. On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.
apt-get install python3-venv
You may need to use sudo with that command. After installing the python3-venv
package, recreate your virtual environment.
Failing command: ['/home/jacob/env/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
Run Code Online (Sandbox Code Playgroud)
所以我跑apt-get install python3-venv
但出现错误
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: …Run Code Online (Sandbox Code Playgroud) 当我在Windows cmd上用Python创建虚拟环境时,在虚拟环境文件夹中,会出现以下文件:
pyvenv.cfg 创建的目标是什么?我可以以任何方式使用它吗?
默认情况下,poetry 在项目 root 之外创建虚拟环境。例如,在 mac 上,它在~/Library/Caches/pypoetry.
但是,我发现了以下建议:
# Configure poetry to create virtual environments inside the project's root directory
poetry config virtualenvs.in-project true
Run Code Online (Sandbox Code Playgroud)
另外,诗歌文档本身指出了这两个选项:
默认情况下,poetry 在 {cache-dir}/virtualenvs(Windows 上为 {cache-dir}\virtualenvs)中创建一个虚拟环境。您可以通过编辑诗歌配置来更改缓存目录值。此外,您可以使用 virtualenvs.in-project 配置变量在项目目录中创建虚拟环境。
在项目目录内或外部创建项目虚拟环境有什么好处?
我已经使用 deadsnakes ppa 在 Ubuntu 20.04 上安装了 python 3.10。有用。然而尝试用它创建 venv 失败了:
$ python3.10 -m venv venv3.10
Error: Command '['<my-working-directory>/venv3.10/bin/python3.10', '-m', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.
Run Code Online (Sandbox Code Playgroud)
这与python 3.11的类似问题非常相似,关于旧版本也有类似的问题。然而,安装 pip 并不是一个解决方案,因为如果只是为了能够在 PyCharm 中使用新的 venv(目前可以对缺少的 setuptools 进行故障转移),那么这将是一个问题。正如一些相关问题提到的那样,我已经升级到 pip 的最新版本。我也确实管理了重新安装 pip,就像对于3.10 版本一样,
$ curl -sS https://bootstrap.pypa.io/get-pip.py | python3.10
Run Code Online (Sandbox Code Playgroud)
我正在获取它的版本信息:
$ python3.10 -m pip --version
pip 23.1 from /home/matan/.local/lib/python3.10/site-packages/pip (python 3.10)
Run Code Online (Sandbox Code Playgroud)
但是尝试使用 python 3.10 创建新的 python 3.10 venv 最终会出现上面提到的错误消息。好像 venv 和/或 pip 没有完全集成,或者本地的某些东西指向 python 3.10 的旧工件。
我正在学习 Flask 的全栈课程。我的init .py 看起来像:
from flask import Flask
from config import Config
from flask_mongoengine import MongoEngine
app = Flask(__name__)
app.config.from_object(Config)
db = MongoEngine()
db.init_app(app)
from application import routes
Run Code Online (Sandbox Code Playgroud)
但是,在导入时from flask_mongoengine import MongoEngine,我收到 ImportError:
ImportError: cannot import name 'JSONEncoder' from 'flask.json'
Run Code Online (Sandbox Code Playgroud)
我的 venv 看起来像:
blinker==1.6.2
click==8.1.3
colorama==0.4.6
dnspython==2.3.0
email-validator==2.0.0.post2
Flask==2.3.2
flask-mongoengine==1.0.0
Flask-WTF==1.1.1
idna==3.4
itsdangerous==2.1.2
Jinja2==3.1.2
MarkupSafe==2.1.3
mongoengine==0.27.0
pymongo==4.4.0
python-dotenv==1.0.0
Werkzeug==2.3.6
WTForms==3.0.1
Run Code Online (Sandbox Code Playgroud)
我可以在这里做些什么来避免这种冲突吗?谢谢!
python-venv ×10
python ×6
virtualenv ×2
flask ×1
git ×1
github ×1
mongodb ×1
pip ×1
pipenv ×1
pycharm ×1
python-3.10 ×1
python-3.x ×1
ubuntu-20.04 ×1