此外,这个问题并不是问如何选择一个Python 解释器来运行或调试代码;而是问如何选择一个 Python 解释器来运行或调试代码。这个问题不是询问有关虚拟环境或如何激活虚拟环境的任何问题,所有这些都有效。我觉得值得注意的是,下面的问题之前已经被问过,但由于对所问内容的困惑而未能得到令人满意的答案。社区成员经常认为我在本问题开头提到的一个问题正在被问到,这是我刚刚在这里写的一个很好的例子。
\n我希望能够配置我的终端以在我的虚拟环境 \xe2\x80\x94 中使用解释器,它们是下面屏幕截图中我的虚拟环境解释器的示例。
\n从状态栏中可以看出 VENV 解释器处于活动状态,并且我的代码运行良好。
\n从Windows 终端正在使用系统解释器。
\n由此引起的问题是我无法从集成终端运行 pip 或其他软件包(例如PyInstaller ),因为它没有查看我的 VENV 内部,而且;我不想全局安装这些软件包。
\n出现的另一个问题是,我的应用程序的某些部分包含版本敏感的包,我需要控制集成终端使用的 python 解释器的版本使用的 python 解释器的版本。
\n我正在 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,创建成功就是这个结构。
我显然做错了一些基本的事情。有人可以指出我的错误吗?谢谢
首先,我注意到有很多相关的问题,但是在尝试了 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) 我在一个烧瓶项目中使用 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 应用程序。我目前正在运行骨架“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) python ×3
flask ×2
dotenv ×1
pip ×1
python-3.x ×1
python-venv ×1
reportlab ×1
svg ×1
ubuntu ×1
virtualenv ×1