Re: [问题] 使用Visual Studio 是否就能包含所有功能

楼主: Hsins (翔)   2020-03-14 19:51:07
※ 引述《hellokidding (Bad Trip)》之铭言:
: 新手同问:
: 因为自己已经先安装了VS Code
: 后来因为课程所以又安装了Anaconda
: 并从上面又再装了一次VS Code
: 变成我打pip 指令安装的套件全部都不会安装在conda的环境下
: 变成要再打指令安装一次
: 请问这个办法有什么解吗?
: 现在电脑里有三个版本的python
: 分别是mac 内建的python2.7
: vs code 的python 3.7
: 以及 conda python 3.7
: 现在有两个问题:
: 1.我要怎么知道我现在是用什么版本的python写程式?
在终端机下键入以下命令(其中 $ 表示 command prompt,不是命令的一部分)
```bash
$ which python
/usr/bin/python
$ type python
python is /usr/bin/python
```
上面两个命令都可以用来检索当前执行的命令是位在哪里。如果要检查当前系统
环境变量的设定,可以加上 -a 参数,比如:
```bash
$ which -a python
/usr/bin/python
/bin/python
$ type -a python
python is /usr/bin/python
python is /bin/python
```
当我启用环境之后会是这样的:
```bash
$ conda activate base
$ which python
/home/hsins/anaconda3/bin/python
```
同样的方式可以用来检查 pip 的位置,这样一来就能清楚地知道如果透过命令
pip install [PACKAGE NAME] 安装时,是安装到系统环境的 /bin/ 目录还是
虚拟环境的目录下了。
不过我通常是用 zsh 的套件,在终端机上显示,这样就不需要每次都透过命令
来确认了:
https://i.imgur.com/SHV3gbm.gif
: 2.如果要让环境统一变成conda python 3.7 该怎么做?
不建议这么做。
环境之所以叫做环境,除了隔离出专案跟专案之间的差异之外,也是拿来隔离系
统所使用到的环境。举例来说好了,多数使用 mac OS 进行开发的开发者会安装
homebrew 这款套件管理工具,但他透过 ruby 来执行,如果说运行 brew 时,
你的系统环境当前的 ruby 比他所用的版本要老旧或太新,那么就可能发生问题
;又或者很多人拿来下载影片的命令行工具 youtube-dl 是使用 Python 来执行
如果系统默认的 Python 版本差异太大,也有可能无法执行。
为了区隔开发与运行的环境,建议保留当前系统默认的版本,并透过虚拟环境工
具来建立开发环境,常见的 Python 虚拟环境有:
pipenv, pyenv, conda, poetry
这些的实现方式略有不同,有些是将直接在专案资料夹下面建立环境,有些是直
接在系统目录下建立环境,然后透过指令去启用,以多数人使用的 conda 来说
就是采用后者。
保持系统环境变量的干净,要指定版本时透过命令去切换环境,这是目前的趋势
,其实 brew 这些套件管理工具,背后的原理也差不多是这样。同样的状况你会
在 node.js 中看到,比如 npm;也会在 ruby 中看到,比如说 rvm... 等。
: 还请板上的前辈帮忙解答~~
: 感激不尽
楼主: Hsins (翔)   2020-03-14 19:53:00
BTW,如果你会经常使用某一个环境,可以用 alias 或是 ln建立别名或建立 soft link 的方式来处理。
作者: roccqqck (ccqq)   2020-03-14 23:07:00
想学poetry 请问有人会吗有无懒人包
作者: s860134 (s860134)   2020-03-15 00:46:00
这篇才是根治pyenv 主要是把编译 python 自动化做的很好,pipenv 才是整理 module 和虚拟环境
楼主: Hsins (翔)   2020-03-16 01:16:00
pyenv 也可以像 rvm 跟 npm 那样建制不同版本的环境,不过都有用 conda 的话,我觉得就多此一举了... 虽然肥很多

Links booklink

Contact Us: admin [ a t ] ucptt.com