|
1 # This Source Code Form is subject to the terms of the Mozilla Public |
|
2 # License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
|
4 |
|
5 $Env:VIRTUAL_ENV = (gl); |
|
6 $Env:CUDDLEFISH_ROOT = $Env:VIRTUAL_ENV; |
|
7 |
|
8 # http://stackoverflow.com/questions/5648931/powershell-test-if-registry-value-exists/5652674#5652674 |
|
9 Function Test-RegistryValue { |
|
10 param( |
|
11 [Alias("PSPath")] |
|
12 [Parameter(Position = 0, Mandatory = $true, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] |
|
13 [String]$Path |
|
14 , |
|
15 [Parameter(Position = 1, Mandatory = $true)] |
|
16 [String]$Name |
|
17 , |
|
18 [Switch]$PassThru |
|
19 ) |
|
20 |
|
21 process { |
|
22 if (Test-Path $Path) { |
|
23 $Key = Get-Item -LiteralPath $Path |
|
24 if ($Key.GetValue($Name, $null) -ne $null) { |
|
25 if ($PassThru) { |
|
26 Get-ItemProperty $Path $Name |
|
27 } else { |
|
28 $true |
|
29 } |
|
30 } else { |
|
31 $false |
|
32 } |
|
33 } else { |
|
34 $false |
|
35 } |
|
36 } |
|
37 } |
|
38 |
|
39 $WINCURVERKEY = 'HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion'; |
|
40 $WIN64 = (Test-RegistryValue $WINCURVERKEY 'ProgramFilesDir (x86)'); |
|
41 |
|
42 if($WIN64) { |
|
43 $PYTHONKEY='HKLM:SOFTWARE\Wow6432Node\Python\PythonCore'; |
|
44 } |
|
45 else { |
|
46 $PYTHONKEY='HKLM:SOFTWARE\Python\PythonCore'; |
|
47 } |
|
48 |
|
49 $Env:PYTHONVERSION = ''; |
|
50 $Env:PYTHONINSTALL = ''; |
|
51 |
|
52 foreach ($version in @('2.6', '2.5', '2.4')) { |
|
53 if (Test-RegistryValue "$PYTHONKEY\$version\InstallPath" '(default)') { |
|
54 $Env:PYTHONVERSION = $version; |
|
55 } |
|
56 } |
|
57 |
|
58 if ($Env:PYTHONVERSION) { |
|
59 $Env:PYTHONINSTALL = (Get-Item "$PYTHONKEY\$version\InstallPath)").'(default)'; |
|
60 } |
|
61 |
|
62 if ($Env:PYTHONINSTALL) { |
|
63 $Env:Path += ";$Env:PYTHONINSTALL"; |
|
64 } |
|
65 |
|
66 if (Test-Path Env:_OLD_PYTHONPATH) { |
|
67 $Env:PYTHONPATH = $Env:_OLD_PYTHONPATH; |
|
68 } |
|
69 else { |
|
70 $Env:PYTHONPATH = ''; |
|
71 } |
|
72 |
|
73 $Env:_OLD_PYTHONPATH=$Env:PYTHONPATH; |
|
74 $Env:PYTHONPATH= "$Env:VIRTUAL_ENV\python-lib;$Env:PYTHONPATH"; |
|
75 |
|
76 if (Test-Path Function:_OLD_VIRTUAL_PROMPT) { |
|
77 Set-Content Function:Prompt (Get-Content Function:_OLD_VIRTUAL_PROMPT); |
|
78 } |
|
79 else { |
|
80 function global:_OLD_VIRTUAL_PROMPT {} |
|
81 } |
|
82 |
|
83 Set-Content Function:_OLD_VIRTUAL_PROMPT (Get-Content Function:Prompt); |
|
84 |
|
85 function global:prompt { "($Env:VIRTUAL_ENV) $(_OLD_VIRTUAL_PROMPT)"; }; |
|
86 |
|
87 if (Test-Path Env:_OLD_VIRTUAL_PATH) { |
|
88 $Env:PATH = $Env:_OLD_VIRTUAL_PATH; |
|
89 } |
|
90 else { |
|
91 $Env:_OLD_VIRTUAL_PATH = $Env:PATH; |
|
92 } |
|
93 |
|
94 $Env:Path="$Env:VIRTUAL_ENV\bin;$Env:Path" |
|
95 |
|
96 [System.Console]::WriteLine("Note: this PowerShell SDK activation script is experimental.") |
|
97 |
|
98 python -c "from jetpack_sdk_env import welcome; welcome()" |
|
99 |