解决Pycharm迁移的项目出现虚拟环境的sdk不可用问题
解决Pycharm迁移的项目出现虚拟环境的sdk不可用问题1.1解决方法1)在迁移项目时,不要迁移venv(包含工程库文件)和.idea文件,只要把所利用到的库全部生成到requirement文件中即可,然后在新机器上根据requirement文件安装所需库(venv中所包含的工程库)。# 在原设备中生成requirement.txt的安装文件(在工程目录下)pip freeze > re
解决Pycharm迁移的项目出现虚拟环境的sdk不可用问题
1.1解决方法
1)在迁移项目时,不要迁移venv
(包含工程库文件)和.idea
文件,只要把所利用到的库全部生成到requirement
文件中即可,然后在新机器上根据requirement文件安装所需库(venv
中所包含的工程库)。
# 在原设备中生成requirement.txt的安装文件(在工程目录下)
pip freeze > requirements.txt
2)在新设备中新建一个工程(目的是为了创建一个虚拟环境),然后将旧设备中的项目拷贝至该项目,然后输入以下代码将工程所需要的库重新安装(至新的虚拟环境中,venv
)
# 将项目迁移至新设备中后,在虚拟环境中安装所需要的文件(工程目录下)
(venv)pip install -r requirements.txt
3)若是在一个新的电脑里已有工程所需库,则只需要将原来工程文件中除venv
和.idea
文件以外的文件拷贝过来即可,这样做的目的是为了使用新电脑里的库与环境,目的与上述方法类似。
1.2总结
此次总结包含新建一个工程时的建议,非常有用,建议仔细阅读!
在项目迁移时,不要将原虚拟环境(venv
和.idea
文件)也拷贝过来,只要把原来工程所需库生成到requirement
文件(包含工程所需库),然后在新机器上根据requirement
文件安装即可。
Anaconda
本质上就是一个包管理工具,在一台电脑上安装Anaconda
,然后再装上工程文件所需要的库,并将Anaconda
内的python.exe
作为解析器,这样在工程迁移至另外一个文件夹或者另外一台电脑时,只要电脑内有Anaconda
及相应的库,那么该工程就可以直接使用(如果没有就直接安装)。
新建虚拟环境(Virtual Environment, venv)时,基础解析器会在工程文件内生成两个文件夹(venv
和.idea
文件夹),其中python.exe
会保存在venv\Scripts
,而所安装的库会保存在venv\Lib
中,每一个工程文件中的库和解析器都是相互独立的。所以如果使用公共解析器和公共库(Anaconda
)的话,那么在工程迁移的时候就会比较方便,不会出现上述问题了。
若不想安装Anaconda,也可以在新建工程文件时,不选择虚拟环境,而是选择第二项(和Anaconda
一样),只不过解析器选择自己安装的python
(非Anaconda
),那么所安装的库也会保存在python.exe
所属目录的文件夹下(路径为:该文件夹下的Lib\site-packages
),不过Pycharm
好像并不建议这么做。经过笔者尝试,发现使用纯Python
作为公共解析器和公共库的时候,其原理与使用Anaconda
类似,以后所有的工程所需库只要是使用的公共解析器,就自然可以调用公共库,而不需要再次下载,如果遇到一些未使用过的库,此次下载之后会直接下载到上述公共库的文件夹下,非常方便使用。因此,笔者建议尽量使用公共解析器,而非单独新建一个虚拟的环境。
总而言之,新建工程文件时选择第二项,无论是Anaconda
下的python.exe
还是直接的python.exe
,都可以被视为一个公共的库和公共的解析器,其可以被任何工程文件所使用。
更多推荐
所有评论(0)