2016-03-21 11 views
0

Bir çalışma bilgisayarında Windows 7 kullanıyorum ve bir Python27 yüklemesini tamamlamaya çalışıyorum.Env değişkeninden Python deletion - bir twist ile

Ben cmd açıp path yazarsanız o zaman o zaman bakın Değer Neden ben ;C:\Python27\;C:\Python27\Scripts\;

içermiyor aşağıdaki Computer > Properties > Advanced System Settings > Environment Variables.. > Pth için tıklarsanız ;C:\Python27\;C:\Python27\Scripts\;

içeren env değişkenlerin listesini görebilirsiniz Bu tutarsızlığı görüyor musunuz? Biri tüm kullanıcılar için, diğeri benim için bir yol mu?

;C:\Python27\;C:\Python27\Scripts\; tüm yol görünümlerinden nasıl silinir? PS kullanarak bu yol bölümünü nasıl silebilirim? (Hepsini silmeden!)

+1

sen sonra makineyi yeniden başlatın mı kaldırmak? – Martin

+0

@Martin birkaç kez; Regedit bile kullandım ve C:/Python27 için girişi sildim. Hedefin dizgenin ortasındaki bir bölümü silmek olduğu powershell'i kullanarak bu 'path' dizisini düzenlemenin zarif bir yolu var mı, yani bu biti sil; C: \ Python27 \; C: \ Python27 \ Scripts \;' – whytheq

+0

@Martin belki bir makine seviyesi yolu ve diğer kullanıcı seviyesi nedir? Yol env değişkeni için 2 farklı değer olabilir mi? – whytheq

cevap

1

Görünüşe göre, iki Python klasörü SİSTEM ortamınızın PATH ayarında listelenir. Ya yönetici olarak bu ayarı düzenleyebilir veya yönetici ayrıcalıklarına sahip aşağıdaki çalıştırın:

$python_paths = 'C:\Python27\', 'C:\Python27\Scripts\' 

$mpath = [Environment]::GetEnvironmentVariable('PATH', 'Machine') -split ';' | 
     Where-Object { $paths -notcontains $_ } 

[Environment]::SetEnvironmentVariable('PATH', ($mpath -join ';'), 'Machine') 

herhangi Python 2.7 yolu bir joker maçına Where-Object filtreyi değiştirmek kaldırmak için:

... | Where-Object { $_ -notlike 'C:\Python27*' } 
+0

Sadece bu yaklaşımı alırdım: '| Nesne {$ _ -notmatch 'Python27'} 've regex değişkeninin nasıl görüneceğini merak ediyordum. – Martin

+0

Umm ... bu * regex varyantıdır. Ancak, benim zevkim için biraz fazla belirsiz, çünkü yolun herhangi bir yerinde 'python27' dizesiyle eşleşir. –

+0

"Yönetici ayrıcalıklarıyla" ... Kendime bu ayrıcalıkları vermek için PS komut dosyası aracılığıyla geçici bir ayar ekleyebilir miyim? – whytheq

İlgili konular