Попробуйте следующее:
M = np.zeros((N,N),dtype=complex)
M[0][0] = complex(1,1)
M = sparse.bsr_matrix(M)
print(M)
# (0, 0) (1+1j)
Вы не можете напрямую установить значения разреженной матрицы, но вы можете установить значения массива numpy и затем преобразовать его в разреженную матрицу.
Хорошо, я наконец понял это, хотя, вероятно, по-хакерски. Я просто использовал sed
, чтобы подставить переменную окружения в файл api-keys.ts.
Итак, вот новый скрипт config.yml (обратите внимание на обширные изменения, включая wait-on: 'http-get://localhost:4200'
(обратите внимание на http-get вместо http!).
version: 2.1
orbs:
cypress: cypress-io/cypress@1.5.1
jobs:
build:
working_directory: ~/project
docker:
- image: circleci/node:9.6.1-browsers
environment:
circleCiApiKey: fireBaseApiKey
steps:
- checkout
- run:
name: Show current branch
command: |
echo ${CIRCLE_BRANCH}
ls -larth
echo $fireBaseApiKey
cat src/app/api-keys.ts
sed -i "s/circleCiApiKey/$fireBaseApiKey/g" src/app/api-keys.ts
cat src/app/api-keys.ts
- restore_cache:
keys:
- v1-dependencies-{{checksum "package.json"}}
- v1-dependencies-
- run:
name: Install local dependencies
command: |
npm install
- save_cache:
key: v1-dependencies-{{checksum "package.json"}}
paths:
- node_modules
- run:
name: Building
command: npm run build
- save_cache:
key: v1-dist-{{ .Environment.CIRCLE_BRANCH}}-{{ .Environment.CIRCLE_SHA1}}
paths:
- dist
workflows:
version: 2.1
build:
jobs:
- build
- cypress/install:
requires:
- build
build: 'npm run build'
- cypress/run:
requires:
- cypress/install
- build
start: 'npm start'
store_artifacts: true
wait-on: 'http-get://localhost:4200'
Замена происходит на [ 114] строка.
Файл api-keys.ts, в свою очередь, содержит:
export var masterFirebaseConfig = {
apiKey: "circleCiApiKey",
authDomain: "dataJitsu.firebaseapp.com",
databaseURL: "https://datajitsu.firebaseio.com",
storageBucket: "",
messagingSenderId: "495992924984"
};
export var masterStripeConfig = {
publicApiTestKey: "pk_test_NKyjLSwnMosdX0mIgQaRRHbS",
secretApiTestKey: "sk_test_6YWZDNhzfMq3UWZwdvcaOwSa",
publicApiKey: "",
secretApiKey: ""
};
Вы пробовали echo $fireBaseApiKey
(без кавычек)?
Для устранения неполадок CircleCI полезно запускать образ локально.
Пример: приведенная ниже команда запустит локальный экземпляр Ubuntu с переменной окружения fireBaseApiKey
, установленной в asdf-asdf-asdf
. Ваши локальные файлы будут смонтированы в /usr/src/app
.
docker run -it -e fireBaseApiKey=asdf-asdf-asdf -v $PWD:/usr/src/app ubuntu bash
Чтобы проверить переменную среды, попробуйте:
echo $fireBaseApiKey
cd /usr/src/app
и выполните скрипт сборки, шаг за шагом. Я считаю полезным устранять неисправности сборок по неизвестным причинам.