在另一台计算机上复制Python环境



如何将windows机器上的python环境设置复制到另一台计算机上,并能够成功运行非常特定的脚本。

我们有一些脚本是用python 3.6.5编写并在anaconda环境下运行的,我们希望能够在新的Windows 10计算机上运行这些脚本。

脚本还连接到计算机上的本地数据库(Postgres)。

由于您使用的是anaconda环境,我假设您在您提到的项目中一直使用虚拟环境。实际上,使用以下代码很容易复制:

# list all virtualenvs in your anaconda folder
$ conda info –envs          # this will list all virtualenvs created by you, you can then choose the specific virtualenv here.
# to activate the virtualenv of your interest
$ conda activate [virtualenv_name] 
# export all packages used in the specific virtualenv (conda activated) 
$ pip freeze > requirements.txt             # save the output file as requirements.txt
# set up a new conda virtualenv in current or separate machine and install with the requirements.txt
$ conda create --name <env_name> python=3.6.5 --file requirements.txt  
# Please note that occasionally you may need to check requirements.txt if there is any abnormal list of packages. The format should be in either [package==version] or [package].

或者您可以直接创建整个虚拟环境。

# copy exactly same virtualenv on separate machine
# export all packages used in the specific virtualenv (conda activated), including current python version and virtualenv name
$ conda env export > environment.yml        # save the output file as environment.yml    
# set up a new conda virtualenv in current or separate machine and install with the requirements.txt 
$ conda env create -f environment.yml       # using Conda; to modify “name” in the environment.yml file if to set up own same anaconda/machine