Skip to content

Commit

Permalink
Fixed the issue that pip install --user doesn't work in docker as roo…
Browse files Browse the repository at this point in the history
…t user
  • Loading branch information
Gems Guo authored and goooxu committed Nov 9, 2018
1 parent 53ed465 commit 55493ed
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 25 deletions.
15 changes: 5 additions & 10 deletions deployment/pypi/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,11 @@ build:
tar xf $(CWD)node-linux-x64.tar.xz -C node-linux-x64 --strip-components 1
cd $(CWD)../../src/nni_manager && yarn && yarn build
cd $(CWD)../../src/webui && yarn && yarn build
rm -rf $(CWD)nni_pkg
cp -r $(CWD)../../src/nni_manager/dist $(CWD)nni_pkg
cp -r $(CWD)../../src/webui/build $(CWD)nni_pkg/static
cp $(CWD)../../src/nni_manager/package.json $(CWD)nni_pkg
cd $(CWD)nni_pkg && yarn --prod
rm -rf $(CWD)nnicmd
rm -rf $(CWD)nni_annotation
cp -r $(CWD)../../tools/nnicmd $(CWD)nnicmd
cp -r $(CWD)../../tools/nni_annotation $(CWD)nni_annotation
cp -r $(CWD)../../tools/trial_tool $(CWD)trial_tool
rm -rf $(CWD)nni
cp -r $(CWD)../../src/nni_manager/dist $(CWD)nni
cp -r $(CWD)../../src/webui/build $(CWD)nni/static
cp $(CWD)../../src/nni_manager/package.json $(CWD)nni
cd $(CWD)nni && yarn --prod
cd $(CWD) && python3 setup.py bdist_wheel
cd $(CWD)../../src/sdk/pynni && python3 setup.py bdist_wheel
cp -r $(CWD)../../src/sdk/pynni/dist/*.whl $(CWD)dist
Expand Down
14 changes: 7 additions & 7 deletions src/nni_manager/training_service/local/localTrainingService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ class LocalTrialJobDetail implements TrialJobDetail {
public pid?: number;

constructor(id: string, status: TrialJobStatus, submitTime: number,
workingDirectory: string, form: JobApplicationForm, sequenceId: number) {
workingDirectory: string, form: JobApplicationForm, sequenceId: number) {
this.id = id;
this.status = status;
this.submitTime = submitTime;
Expand Down Expand Up @@ -283,21 +283,21 @@ class LocalTrainingService implements TrainingService {
public getClusterMetadata(key: string): Promise<string> {
switch (key) {
case TrialConfigMetadataKey.TRIAL_CONFIG:
let getResult : Promise<string>;
if(!this.localTrailConfig) {
let getResult: Promise<string>;
if (!this.localTrailConfig) {
getResult = Promise.reject(new NNIError(NNIErrorNames.NOT_FOUND, `${key} is never set yet`));
} else {
getResult = Promise.resolve(!this.localTrailConfig? '' : JSON.stringify(this.localTrailConfig));
getResult = Promise.resolve(!this.localTrailConfig ? '' : JSON.stringify(this.localTrailConfig));
}
return getResult;
return getResult;
default:
return Promise.reject(new NNIError(NNIErrorNames.NOT_FOUND, 'Key not found'));
}
}

public cleanUp(): Promise<void> {
this.stopping = true;
for(const stream of this.streams) {
for (const stream of this.streams) {
stream.destroy();
}
return Promise.resolve();
Expand Down Expand Up @@ -359,7 +359,7 @@ class LocalTrainingService implements TrainingService {
await cpp.exec(`mkdir -p ${trialJobDetail.workingDirectory}`);
await cpp.exec(`mkdir -p ${path.join(trialJobDetail.workingDirectory, '.nni')}`);
await cpp.exec(`touch ${path.join(trialJobDetail.workingDirectory, '.nni', 'metrics')}`);
await fs.promises.writeFile(path.join(trialJobDetail.workingDirectory, 'run.sh'), runScriptLines.join('\n'), { encoding: 'utf8' });
await fs.promises.writeFile(path.join(trialJobDetail.workingDirectory, 'run.sh'), runScriptLines.join('\n'), { encoding: 'utf8', mode: 0o777 });
await this.writeParameterFile(trialJobDetail.workingDirectory, (<TrialJobApplicationForm>trialJobDetail.form).hyperParameters);
await this.writeSequenceIdFile(trialJobId);
const process: cp.ChildProcess = cp.exec(`bash ${path.join(trialJobDetail.workingDirectory, 'run.sh')}`);
Expand Down
11 changes: 3 additions & 8 deletions tools/nni_cmd/launcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
import time
import random
import string
import site
from pathlib import Path


Expand Down Expand Up @@ -67,12 +66,8 @@ def start_rest_server(port, platform, mode, config_file_name, experiment_id=None
exit(1)

print_normal('Starting restful server...')
if os.geteuid() == 0:
site_dir = site.getsitepackages()[0]
else:
site_dir = site.getusersitepackages()
python_dir = str(Path(site_dir).parents[2])
cmds = ['node', os.path.join(python_dir, 'nni', 'main.js'), '--port', str(port), '--mode', platform, '--start_mode', mode]
base_dir = str(Path(os.path.dirname(__file__)).parents[3])
cmds = ['node', os.path.join(base_dir, 'nni', 'main.js'), '--port', str(port), '--mode', platform, '--start_mode', mode]
if mode == 'resume':
cmds += ['--experiment_id', experiment_id]
stdout_full_path, stderr_full_path = get_log_path(config_file_name)
Expand All @@ -83,7 +78,7 @@ def start_rest_server(port, platform, mode, config_file_name, experiment_id=None
log_header = LOG_HEADER % str(time_now)
stdout_file.write(log_header)
stderr_file.write(log_header)
process = Popen(cmds, cwd=os.path.join(python_dir, 'nni'), stdout=stdout_file, stderr=stderr_file)
process = Popen(cmds, cwd=os.path.join(base_dir, 'nni'), stdout=stdout_file, stderr=stderr_file)
return process, str(time_now)

def set_trial_config(experiment_config, port, config_file_name):
Expand Down

0 comments on commit 55493ed

Please sign in to comment.