import os
# The new address of our script folder
script_folder = r'D:\Python proqrams\pdf_to_excel\venv\Scripts'
# the old address of our venv folder
old_path = rb'C:\Users\AVG-dell\Desktop\pdf_to_excel\venv'
# the new address of our venv folder
new_path = rb"D:\Python proqrams\pdf_to_excel\venv"
def find_replace( folder ):
names = os.listdir( folder )
for name in names:
current_path = os.path.join( folder, name )
if os.path.isdir( current_path ):
find_replace( current_path )
elif os.path.isfile( current_path ) :
try:
with open( current_path ,'rb' ) as f:
data = f.read()
if old_path in data:
print( current_path )
data2 = data.replace( old_path , new_path )
with open( current_path , 'wb' ) as f:
f.write(data2)
except:
pass
find_replace( script_folder )
print('completed')
9条答案
按热度按时间jhkqcmku1#
最简单的方法是使用pip生成一个需求文件,一个需求文件基本上是一个包含你想要安装的所有python包(或者已经安装的pip生成的文件)以及它们的版本的列表。
要生成需求文件,请进入原始virtualenv并运行:
这将为你生成一个 requirements.txt 文件。如果你在你喜欢的文本编辑器中打开这个文件,你会看到类似于:
现在,将
Django==x.x
行编辑为Django==1.3
(或者您想在新的virtualenv中安装的任何版本)。最后,激活您的新virtualenv,并运行:
pip会自动下载并安装所有列在 requirements.txt 文件中的python模块,不管你指定了什么版本!
qlfbtfca2#
另一个选项是使用
virtualenv-clone
包:用于克隆不可重定位的virtualenv的脚本。
2w3kk1z53#
virtualenvwrapper
提供复制virtualenv的命令l7mqbcuq4#
最简单的选择是使用
virtualenv-clone
封装。要将
venv1
复制到venv2
,请按照下列步骤操作:1.在
venv1
或虚拟虚拟环境venv_dummy
中安装virtualenv-clone
。要创建venv_dummy
:1.要安装
virtualenv-clone
:1.要将
venv1
复制到venv2
:rpppsulh5#
如果您使用的是Anaconda,则只需运行:
这会将
myenv
复制到新创建的名为myclone
的环境中。m0rkklqb6#
下面是我克隆python虚拟环境的go to命令。
上述命令中使用的约定:
/home/john/envs/oldenv
。myenv
,它也可以是路径,例如/home/john/envs/myenv
/home/john/envs/<env-name>
使用这个的优点或为什么我更喜欢这个
1.无需生成requirements.txt文件。
1.克隆过程中未激活/停用任何环境。
1.要执行的单个命令(一次运行3个命令)。
在某些情况下,您可能希望在克隆env时从中排除全局软件包,可以将
source-path/bin/pip freeze
替换为source-path/bin/pip freeze --local
,更多关于--local
here的信息deyfvvtc7#
如果你使用pip“venv”,我复制粘贴了保存虚拟环境的文件夹,并手动更改了复制文件夹的bin文件夹中的文件。我不知道它是否有效,但它工作!
pxiryf3j8#
你不能简单地:
iklwldmw9#
pip工作,但这是一个问题在一台计算机没有互联网.
我为此写了一个小代码,它对我很有用。我把它写在这里是因为它可能对其他人有用。
(注:我在Windows上测试过)
1.复制项目文件夹
1.粘贴项目文件夹到另一个目录
1.更改此代码中的地址部分,然后运行以下代码: