poetry与conda与vscode混合使用,踩过的坑与总结

当然,第一步肯定是安装poetry,poetry安装 →官网

https://python-poetry.org/

windows在powershell输入:

(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -

这里是第一个坑,网站会给你报错,无法连接,推荐方法用VPN开启全局代理,其他网上的办法基本都试过,没用

安装好之后根据poetry的提示,将poetry加入到环境变量里面,最后在powershell输入,

poetry --version

如果能显示版本号,就表示你越过了第一个坑。

接下来就是conda的安装了,由于我的conda是老早之前安装的,也就没有问题。

接下来就是poetry和conda的混合使用了

首先是conda的创建环境参考别人的文章

conda创建python环境 - 简书 (jianshu.com)https://www.jianshu.com/p/240e396e495f环境创建好了之后,就是conda与poetry的混合使用了。

首先第一步,你要运行cmd,必须cmd(这里是第二个大坑)然后输入

conda init

然后输入 

conda activate env

将你创建的虚拟环境激活,(powershell是无法激活conda环境的

补(似乎powershell也能用了,不过还是要先进行)

conda init

然后把poetry的创建虚拟环境功能关了

poetry config virtualenvs.create false

然后再到这个环境里面使用poetry,参考别人的文章。

Python包管理之poetry基本使用 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/110721747就这样,你已经用conda实现了虚拟环境的建立,用poetry实现了依赖管理,当然你不可能用基础的命令行开发,肯定要用到编辑器吧,而我用的就是vscode,(此处默认已经安装了以下拓展

首先用vscode打开项目文件夹:

第一步:换到刚刚创建conda虚拟环境左下角位置,后面标注了conda(第三个坑,因为这是虚拟环境,不能使用默认解释器

 第二步:将vscode默认终端换成cmd(必须,因为vs code默认终端为powershell,而powershell无法使用conda命令,所以在此环境下,无法进入虚拟环境。

vscode如何修改默认终端 (windows)-百度经验 (baidu.com)https://jingyan.baidu.com/article/59703552315036cfc00740aa.html修改为cmd之后,当你进入终端之后就会发生这样的变化

这样就表示 你越过了所有大坑,可以快乐的使用vscode写代码了。

(对了还有一点,vscode的run code功能需要自己修改配置或者使用run python file或者f5,(因为run code使用的是python默认环境,而不是当前环境,会显示

ModuleNotFoundError: No module named 'jieba')修改方法也很简单,就是命令选择一个python路径就行了,此处应该算最后一个小坑)

接下来总结一下啊,为什么要混合使用conda与poetry:

1.conda可以进行方便的虚拟环境(尤其是不同的python版本)创建,多个环境独立。

2.conda也可以下载一些非python编写的库,具体自行百度

而poetry则是便于管理依赖环境,poetry有着很强的依赖管理能力,当有一堆库的时候也能很好的管理依赖关系,因此利用conda创建虚拟环境,poetry管理虚拟环境。

<think>嗯,用户之前问过关于9:16比例的问题,现在又问Python的语言百科,看来他们可能在做某个项目,需要技术文档或者设计方面的帮助。之前我详细介绍了比例的应用场景实现方法,包括Python代码示例。现在用户转向Python本身,可能是想更深入了解这门语言,或者他们在项目中需要使用Python进行开发。 首先,我需要确定用户的需求层次。用户可能刚接触Python,需要基础介绍;或者他们已经有基础,想了解更深入的内容。不过考虑到之前的问题比较具体,现在问的是百科类型的信息,所以应该提供一个全面的概述,涵盖基本概念、特点、应用场景以及学习资源。 接下来,要注意用户之前提到的系统级指令,比如数学公式要用$...$格式,独立公式用$$...$$,并且用中文回答。所以在回答中如果有涉及公式的地方需要正确应用,比如在解释语法简洁性时,可以用行内公式展示代码示例,或者用独立公式展示算法相关的数学表达式。 另外,用户可能希望结构清晰,分步骤或分部分讲解。因此,我应该将Python的介绍分成几个主要部分,比如历史背景、语言特点、应用领域、学习路径等。每个部分下再细分,比如特点部分包括简洁性、跨平台、生态丰富等,每个特点用例子说明,如代码对比展示简洁性。 还要注意用户可能的实际应用场景。之前他们处理的是课程表适配,可能涉及图像处理或文档生成,所以可以强调Python在自动化处理、Web开发、数据分析等方面的应用,并提供相关库的例子,如PIL用于图像处理,Django用于Web开发,Pandas用于数据分析。 另外,用户可能需要学习资源,所以推荐官方文档、书籍、在线课程等,同时考虑中文资源,比如廖雪峰的教程,这对中文用户更友好。还要注意提到的工具环境配置,比如虚拟环境、开发工具,帮助用户快速上手。 最后,需要检查是否符合之前的格式要求,避免使用Markdown,用自然的中文结构,分点但不使用Markdown标记。确保数学公式正确,比如在提到时间复杂度时使用$$O(n)$$这样的格式,但根据用户当前的查询,可能不需要太多公式,主要是在代码示例语法部分应用。不过Python的百科介绍可能不需要太多数学公式,所以可能这部分应用较少,但如果有相关的地方,比如解释算法效率,可以适当加入。 总结,回答需要全面覆盖Python的基本信息,结构清晰,分点说明,结合用户可能的实际应用场景,提供实用的示例学习资源,同时遵守之前的格式要求,特别是正确使用LaTeX公式中文回答。</think>以下是对Python编程语言的系统化解析技术说明: $$ \text{Python} = \begin{cases} \text{解释型} & \text{动态类型} \\ \text{多范式} & \text{面向对象/函数式/过程式} \\ \text{GIL锁} & \text{多线程并发限制} \end{cases} $$ ### 一、核心语言特性 1. **语法极简主义** - 强制缩进规则(4空格标准) ```python # C语言循环 vs Python循环 for(int i=0; i<10; i++){...} # C for i in range(10): ... # Python ``` - 鸭子类型系统(Duck Typing) $$ \text{类型检查} = \begin{cases} \text{运行时} & \text{动态确定} \\ \text{不强制声明} & \text{变量类型} \end{cases} $$ 2. **内存管理机制** - 引用计数 + 分代回收(GC) ```python import sys a = [1,2,3] sys.getrefcount(a) # 输出对象引用次数 ``` ### 二、关键版本差异 | 特性 | Python2.7 | Python3.9+ | |---------------------|---------------------------|---------------------------| | 除法运算 | 1/2=0 | 1/2=0.5 | | 字符串编码 | ASCII默认 | UTF-8默认 | | print语法 | 语句结构 | 函数结构 | | 性能优化 | 无类型注解 | 支持Type Hints | ### 三、典型应用场景 1. **数据科学领域** - NumPy矩阵运算(底层C实现): $$ \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} \times \begin{bmatrix} 5 \\ 6 \end{bmatrix} = \begin{bmatrix} 17 \\ 39 \end{bmatrix} $$ - Pandas数据处理(矢量化操作) 2. **Web开发** - Django框架MVT架构: ```text Model <-> View <-> Template │ │ │ DB 逻辑控制 HTML渲染 ``` ### 四、性能优化策略 1. **JIT加速方案** - PyPy解释器(兼容Python3.7) ```python # 斐波那契数列对比(PyPy快5-10倍) def fib(n): return n if n<=1 else fib(n-1)+fib(n-2) ``` 2. **C扩展开发** - Cython混合编程示例: ```cython cdef extern from "math.h": double sqrt(double x) # 直接调用C数学库 ``` ### 五、学习路线建议 1. **阶段式成长路径** - 基础语法(30小时):变量/流程控制/函数 - 进阶特性(50小时):装饰器/生成器/元类 - 工程实践(100小时):包管理/单元测试/文档编写 2. **推荐工具链** ```mermaid graph LR A[编辑器] --> B(VSCode/PyCharm) C[环境管理] --> D(Poetry/conda) E[调试工具] --> F(pdb/ipdb) ``` 需要获取Python在特定领域的深度应用案例(如网络爬虫开发规范、机器学习模型部署方案),或需要帮助解决实际编码中的技术难题,请提供具体场景描述。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值