小编Mar*_*ink的帖子

如何配置 VS Code 的集成终端以使用正确的 Python 解释器

长话短说

\n

此外,这个问题并不是如何选择一个Python 解释器来运行或调试代码;而是问如何选择一个 Python 解释器来运行或调试代码。这个问题不是询问有关虚拟环境或如何激活虚拟环境的任何问题,所有这些都有效。我觉得值得注意的是,下面的问题之前已经被问过,但由于对所问内容的困惑而未能得到令人满意的答案。社区成员经常认为我在本问题开头提到的一个问题正在被问到,这是我刚刚在这里写的一个很好的例子。

\n
\n
\n

这是我的问题:

\n
用户如何配置其集成终端以使用用户指定的解释器?
\n

我希望能够配置我的终端以在我的虚拟环境 \xe2\x80\x94 中使用解释器,它们是下面屏幕截图中我的虚拟环境解释器的示例。

\n
    \n
  1. 从状态栏中可以看出 VENV 解释器处于活动状态,并且我的代码运行良好。

    \n
  2. \n
  3. Windows 终端正在使用系统解释器。

    \n
  4. \n
\n

使用不同解释器的 VSCode

\n

由此引起的问题是我无法从集成终端运行 pip 或其他软件包(例如PyInstaller ),因为它没有查看我的 VENV 内部,而且;我不想全局安装这些软件包。

\n

出现的另一个问题是,我的应用程序的某些部分包含版本敏感的包,我需要控制集成终端使用的 python 解释器的版本使用的 python 解释器的版本。

\n

python python-venv visual-studio-code

18
推荐指数
1
解决办法
1965
查看次数

python pip 默认为用户安装,因为普通站点包不可写

我正在 WSL2 下设置一个干净版本的 Ubuntu,由于某些依赖项,它需要运行 python 3.7。目标是拥有一个包含虚拟环境的项目文件夹,并能够将包安装到 venv 中。

我用来设置环境的命令顺序是

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt install python3.7
sudo apt install python3-pip
sudo apt install python3-virtualenv
Run Code Online (Sandbox Code Playgroud)

一切正常,直到我尝试将软件包安装到 venv 中。命令是

cd ./OneDrive/dev/babyclix_stg
virtualenv -p /usr/bin/python3.7 .venv
source .venv/bin/activate
pip3 install requests

Run Code Online (Sandbox Code Playgroud)

最后一个 pip3 命令会返回此异常/错误消息。

(.venv) dev@DESKTOP-6FAUQ4D:/mnt/c/Users/mark/OneDrive/dev/babyclix_stg$ pip3 install requests
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: requests in /usr/lib/python3/dist-packages (2.22.0)
Run Code Online (Sandbox Code Playgroud)

我的venv,创建成功就是这个结构。

venv 文件夹结构

我显然做错了一些基本的事情。有人可以指出我的错误吗?谢谢

ubuntu pip virtualenv windows-subsystem-for-linux

5
推荐指数
1
解决办法
2万
查看次数

在 python 中,将 SVG 转换为 PNG,同时调整大小并提高质量

首先,我注意到有很多相关的问题,但是在尝试了 pyvip 和 cairo 以及其余的一天之后,即使在安装了它们似乎依赖的其他软件之后,它们都对我不起作用。例外是 svglib 和 reportlab,它很接近,但还没有完全达到目标!是我发现的最好的帖子,可能会对一些人有所帮助。

我的所有源图像都保存在 SVG 文件中。大多数应用商店要求您提供一组具有特定尺寸和质量的 PNG。所以我需要获取一个 SVG 并生成一个宽度为 w、高度为 h 以及特定 dpi 的 PNG。我想在 python 中以编程方式执行此操作。

我编写了一个几乎可以工作的函数,但是缩放和 dpi 以奇怪的方式相互作用。我使用 svglib 将 SVG 转换为 ReportLab 绘图,然后使用 reportlab 操作该绘图。与其他一些选项不同,Windows 上的安装过程很顺利。

pip install svglib
pip install reportlab
Run Code Online (Sandbox Code Playgroud)

代码如下。我检查了上面的库来获取参数,但添加了一些东西来获取特定的大小。

from svglib.svglib import svg2rlg
from reportlab.graphics import renderPM

def svg_to_png(in_path,out_path,fmt="PNG",
    scale=None,size=None,scale_x=1,size_x=None,scale_y=1,size_y=None,
    dpi=72, bg=0xffffff):
    # Convert SVG to ReportLab drawing. 
    drawing = svg2rlg(in_path)
    # Work out scale factors
    # Scale over-rides scale_x|y, ditto size
    scale_x = scale if …
Run Code Online (Sandbox Code Playgroud)

python svg reportlab

5
推荐指数
1
解决办法
3565
查看次数

我已经安装了 python-dotenv 但 python 找不到它

我在一个烧瓶项目中使用 dotenv,并且也在一个简化的测试环境中进行了测试。我试过卸载和重新安装等,但 python 找不到 dotenv 模块。

启动烧瓶时,它看到有一些 .env 文件,并告诉我安装 dotenv 即使它已安装,我也可以在烧瓶系统库中看到它。

这就是在命令行中发生的事情。

当我运行代码时,我收到一个模块未找到错误,说它找不到 dotenv。代码是

import os
from dotenv import load_dotenv
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
Run Code Online (Sandbox Code Playgroud)

错误是

错误信息

任何建议都感激地接受。

python flask dotenv

4
推荐指数
2
解决办法
2万
查看次数

Flask 蓝图错误 - 无法为端点构建 url

我正在设置一个使用蓝图的 python/flask 应用程序。我目前正在运行骨架“hello world”应用程序,当它工作时我会扩展它。但我被卡住并收到错误消息“werkzeug.routing.BuildError:无法为端点'index'构建url。你的意思是'main.index'吗?”

我的应用程序基于 Miguel Grinberg 的“超级教程”,我看不出我的精简代码和他的有任何区别。我已经阅读了一些文档并搜索了帮助,但没有什么非常适合的。我认为这是一种对专家来说显而易见的错误类型。

下面我列出了我认为是相关的代码。

应用程序结构是

\myapp
  myapp.py
  \app
    __init__.py
    \main
      __init__.py
      routes.py
      ...
    \...
      __init__.py
      routes.py
      ...
Run Code Online (Sandbox Code Playgroud)

其中每个子文件夹\app都是一个蓝图。

myapp.py

from app import create_app
app = create_app()
Run Code Online (Sandbox Code Playgroud)
\app\__init__.py

from flask import Flask, request, current_app
from config import Config

def create_app(config_class=Config):
    app = Flask(__name__)
    app.config.from_object(config_class)

#   Register blueprints
    from app.errors import bp as errors_bp
    app.register_blueprint(errors_bp)

    from app.auth import bp as auth_bp
    app.register_blueprint(auth_bp, url_prefix='/auth')

    from app.meta import bp as meta_bp
    app.register_blueprint(meta_bp)

    from app.main import bp as …
Run Code Online (Sandbox Code Playgroud)

flask python-3.x

1
推荐指数
1
解决办法
6376
查看次数