@bjia56/portable-python 0.1.35 → 0.1.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +18 -1
- package/dist/index.js +54 -6
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -6,10 +6,26 @@ export declare class PortablePython {
|
|
|
6
6
|
* Contains the path to the Python executable.
|
|
7
7
|
*/
|
|
8
8
|
get executablePath(): string;
|
|
9
|
+
/**
|
|
10
|
+
* Contains the path to the bundled pip executable.
|
|
11
|
+
*/
|
|
12
|
+
get pipPath(): string;
|
|
9
13
|
/**
|
|
10
14
|
* Contains the selected Python version.
|
|
11
15
|
*/
|
|
12
16
|
get version(): string;
|
|
17
|
+
/**
|
|
18
|
+
* Contains the major version number.
|
|
19
|
+
*/
|
|
20
|
+
get major(): string;
|
|
21
|
+
/**
|
|
22
|
+
* Contains the minor version number.
|
|
23
|
+
*/
|
|
24
|
+
get minor(): string;
|
|
25
|
+
/**
|
|
26
|
+
* Contains the patch version number.
|
|
27
|
+
*/
|
|
28
|
+
get patch(): string;
|
|
13
29
|
/**
|
|
14
30
|
* Contains the release tag that will be downloaded.
|
|
15
31
|
*/
|
|
@@ -30,8 +46,9 @@ export declare class PortablePython {
|
|
|
30
46
|
/**
|
|
31
47
|
* Will download the compressed Python installation and extract it to
|
|
32
48
|
* the installation directory.
|
|
49
|
+
* @param [zipFile=null] - Install from an existing zip file on the filesystem, instead of downloading.
|
|
33
50
|
*/
|
|
34
|
-
install(): Promise<void>;
|
|
51
|
+
install(zipFile?: string | null): Promise<void>;
|
|
35
52
|
/**
|
|
36
53
|
* Uninstalls the Python distribution.
|
|
37
54
|
*/
|
package/dist/index.js
CHANGED
|
@@ -76,12 +76,39 @@ class PortablePython {
|
|
|
76
76
|
get executablePath() {
|
|
77
77
|
return (0, path_1.join)(this.installDir, this.pythonDistributionName, "bin", "python" + ((0, os_1.platform)() === "win32" ? ".exe" : ""));
|
|
78
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Contains the path to the bundled pip executable.
|
|
81
|
+
*/
|
|
82
|
+
get pipPath() {
|
|
83
|
+
if ((0, os_1.platform)() === "win32") {
|
|
84
|
+
return (0, path_1.join)(this.installDir, this.pythonDistributionName, "Scripts", `pip${this.major}.exe`);
|
|
85
|
+
}
|
|
86
|
+
return (0, path_1.join)(this.installDir, this.pythonDistributionName, "bin", `pip${this.major}`);
|
|
87
|
+
}
|
|
79
88
|
/**
|
|
80
89
|
* Contains the selected Python version.
|
|
81
90
|
*/
|
|
82
91
|
get version() {
|
|
83
92
|
return this._version;
|
|
84
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Contains the major version number.
|
|
96
|
+
*/
|
|
97
|
+
get major() {
|
|
98
|
+
return this.version.split(".")[0];
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Contains the minor version number.
|
|
102
|
+
*/
|
|
103
|
+
get minor() {
|
|
104
|
+
return this.version.split(".")[1];
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Contains the patch version number.
|
|
108
|
+
*/
|
|
109
|
+
get patch() {
|
|
110
|
+
return this.version.split(".")[2];
|
|
111
|
+
}
|
|
85
112
|
/**
|
|
86
113
|
* Contains the release tag that will be downloaded.
|
|
87
114
|
*/
|
|
@@ -110,23 +137,44 @@ class PortablePython {
|
|
|
110
137
|
/**
|
|
111
138
|
* Will download the compressed Python installation and extract it to
|
|
112
139
|
* the installation directory.
|
|
140
|
+
* @param [zipFile=null] - Install from an existing zip file on the filesystem, instead of downloading.
|
|
113
141
|
*/
|
|
114
|
-
async install() {
|
|
142
|
+
async install(zipFile = null) {
|
|
115
143
|
if (this.isInstalled()) {
|
|
116
144
|
return;
|
|
117
145
|
}
|
|
146
|
+
const postProcess = () => {
|
|
147
|
+
if (!this.isInstalled()) {
|
|
148
|
+
throw Error("something went wrong and the installation failed");
|
|
149
|
+
}
|
|
150
|
+
(0, fs_1.chmodSync)(this.executablePath, 0o777);
|
|
151
|
+
if ((0, os_1.platform)() != "win32") {
|
|
152
|
+
// node can't create symlinks over existing files, so we create symlinks with temp names,
|
|
153
|
+
// then rename to overwrite existing files
|
|
154
|
+
(0, fs_1.symlinkSync)("python", `${this.executablePath}${this.major}_`, "file");
|
|
155
|
+
(0, fs_1.renameSync)(`${this.executablePath}${this.major}_`, `${this.executablePath}${this.major}`);
|
|
156
|
+
(0, fs_1.symlinkSync)("python", `${this.executablePath}${this.major}.${this.minor}_`, "file");
|
|
157
|
+
(0, fs_1.renameSync)(`${this.executablePath}${this.major}.${this.minor}_`, `${this.executablePath}${this.major}.${this.minor}`);
|
|
158
|
+
// ensure the pip script is executable
|
|
159
|
+
(0, fs_1.chmodSync)(this.pipPath, 0o777);
|
|
160
|
+
(0, fs_1.chmodSync)(`${this.pipPath}.${this.minor}`, 0o777);
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
(0, fs_1.mkdirSync)(this.installDir, { recursive: true });
|
|
164
|
+
if (zipFile) {
|
|
165
|
+
const zip = new adm_zip_1.default(zipFile);
|
|
166
|
+
zip.extractAllTo(this.installDir, true);
|
|
167
|
+
postProcess();
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
118
170
|
const url = `https://github.com/bjia56/portable-python/releases/download/${this.releaseTag}/${this.pythonDistributionName}.zip`;
|
|
119
171
|
const downloadPath = (0, path_1.join)(this.installDir, `${this.pythonDistributionName}.zip`);
|
|
120
|
-
(0, fs_1.mkdirSync)(this.installDir, { recursive: true });
|
|
121
172
|
const installDir = this.installDir;
|
|
122
173
|
await download(url, downloadPath);
|
|
123
174
|
const zip = new adm_zip_1.default(downloadPath);
|
|
124
175
|
zip.extractAllTo(installDir, true);
|
|
125
176
|
(0, fs_1.rmSync)(downloadPath);
|
|
126
|
-
|
|
127
|
-
throw Error("something went wrong and the installation failed");
|
|
128
|
-
}
|
|
129
|
-
(0, fs_1.chmodSync)(this.executablePath, 0o777);
|
|
177
|
+
postProcess();
|
|
130
178
|
}
|
|
131
179
|
/**
|
|
132
180
|
* Uninstalls the Python distribution.
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bjia56/portable-python",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.37",
|
|
4
4
|
"description": "Portable Python",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -58,10 +58,10 @@
|
|
|
58
58
|
"3.8.17": "v3.8.17-build.3",
|
|
59
59
|
"3.11.8": "v3.11.8-build.4",
|
|
60
60
|
"3.12.2": "v3.12.2-build.3",
|
|
61
|
-
"3.9.19": "v3.9.19-
|
|
61
|
+
"3.9.19": "v3.9.19-build.2",
|
|
62
62
|
"3.10.14": "v3.10.14-beta.0",
|
|
63
63
|
"3.11.9": "v3.11.9-beta.0",
|
|
64
|
-
"3.12.3": "v3.12.3-beta.
|
|
64
|
+
"3.12.3": "v3.12.3-beta.1"
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
}
|