estava aqui na lista abaixo, cliquei com o botão direito nele e depois deletei
user2413's questions
Ok, considere este arquivo de exemplo:
#!/usr/bin/env bash
cat > example_file.txt <<EOL
group, , price
1, S_BRN_, 3.21
1, S_WBS_BRN_, 4.11
1, S_WBS_BRN, 1.22
2, S_BRN_WBS, 9.2
2, F_WBS_BRN_, 2.11
2, F_BRN_, 2.11
2, F_BRN_WBS_, 2.11
EOL
Quero todas as linhas que contenham a string 'F_BRN_' ou "S_BRN_'. Faço o seguinte sed:
sed -n '/S_BRN_\|F_BRN_/p' example_file.txt
e eu recebo:
1, S_BRN_, 3.21
1, S_WBS_BRN_, 4.11
2, S_BRN_WBS, 9.2
2, F_WBS_BRN_, 2.11
2, F_BRN_, 2.11
2, F_BRN_WBS_, 2.11
minha pergunta é: como evitar correspondências parciais? Por exemplo, F_WBS_BRN_ não contém a substring F_BRN_, portanto, não deve ser retornada.
eu gostaria de contar todas as linhas em todos os arquivos .py em todos os subdiretórios (e sub-sub-...-diretórios). Eu tentei isso:
find strats/ -type f | wc -l *.py
mas, novamente, ele conta apenas as linhas nos arquivos .py no diretório atual,
cat -e file.txt
dá:
{"yellow":"mango"}^M$
^M$
{"yellow":"banana"}^M$
^M$
{"yellow":"blabla"}^M$
^M$
e eu gostaria de ter apenas:
{""yellow":"mango"}^M$
{"yellow":"banana"}^M$
{"yellow":"blabla"}^M$
no lugar para todos os arquivos com extensão txt na pasta. Então eu tentei:
find . -type f -name "*.txt" -print0 | xargs -0 sed -i "s/^M$^M$/^M$/g"
para nenhum proveito. Alguém tem uma idéia melhor?
head -n 3 file.txt | od -bc
rendimentos:
0000000 173 042 171 145 154 154 157 167 042 072 042 155 141 156 147 157
{ " y e l l o w " : " m a n g o
0000020 042 175 015 012 015 012 173 042 142 141 142 141 142 042 072 042
" } \r \n \r \n { " b a b a b " : "
0000040 155 141 156 147 157 042 175 015 012
m a n g o " } \r \n
0000051
isto:
awk 1 RS='\r\n' ORS= < file.txt
remove as novas linhas completamente (então não é bom: quero manter uma das duas sucessivas em cada linha, mas faz alguma coisa).
Eu tenho um monte de arquivos pdf em uma pasta. Eu gostaria de marcar todos eles com marca d'água. O watermak deve ser o nome do próprio arquivo. Como?
Estou usando o Ubuntu 18.04LTS
Considere este arquivo:
#!/usr/bin/env bash
cat > example_file.txt <<EOL
TITLE something
some data
some data
some data
TITLE something else
some other data
TITLE some more
some other data
some other data
some other data
TITLE extra info
some more data
some more data
EOL
Eu preciso adicionar uma nova coluna que:
- conta o número de linhas,
- volta a 1 após uma ocorrência de
/^TITLE/
, - começa na parte inferior do arquivo e segue para cima,
Basicamente, o resultado deve se parecer com:
TITLE something,4
some data,3
some data,2
some data,1
TITLE something else,2
some other data,1
TITLE some more,4
some other data,3
some other data,2
some other data,1
TITLE extra info,3
some more data,2
some more data,1
PS você pode supor que:
- o arquivo sempre começa com uma linha correspondente
/^TITLE/
- o arquivo sempre termina com uma linha que não corresponde
/^TITLE/
- não há duas linhas consecutivas correspondentes
/^TITLE/
Editar:
Resultados até agora
em um arquivo de 100 MB:
@Yarom
time tac trial.txt | awk 'BEGIN{x=0} {x++;{if ($1 !~/^pattern/) printf "%s,%s\n",$0,x;else if ($1 ~/^pattern/) {printf "%s,%s\n",$0,x;x=0}}}' | tac > trial2.txt
real 0m0,896s
@bac0n
time awk '{ a[i++]=$0 } END { while (i--) { a[i]=a[i] "," ++j; if (a[i] ~ /^pattern/) { j=0 } }; for (i=0; i<NR; i++) { print a[i] } }' trial.txt > trial2.txt
real 0m0,830s
@olivo:
time awk -v RS='^pattern' -v FS='\n' '
{
for(i=NF-1;i>0;i--)
printf "%s,%d\n",$i,i;
printf RT
}' trial.txt > trial2.txt
real 0m2,343s
@steeldriver
time awk -vRS='\n(^pattern|$)' -F'\n' -vOFS=, '
NR>1 {$1 = "^pattern" $1}
{for(i=1;i<=NF;i++) print $i, NF-i+1}
' trial.txt > trial2.txt
real 0m1,889s
usando mawk em vez de awk, recebo:
mawk: program limit exceeded: maximum number of fields size=32767
Considere este arquivo:
#!/usr/bin/env bash
cat > example_file.txt <<EOL
|dms,wew,qwqw|
|m|head1|
|3,4,6|
|3e,2,23|
|m|head2|
|xw,12,2123|
|23,d,213|
|23,22q,2skl|
|m|head1|
|dljs,wqpw,2;a|
|dllw,w1p,1q;a|
EOL
De vez em quando, haverá um padrão de guarda: uma linha que começa com:
|m|
(sim, a primeira linha do arquivo não precisa ser um padrão de guarda) Agora eu só quero imprimir aquelas linhas para as quais o último padrão de guarda foi:
|m|head1|
e ignore todas as outras linhas. Em outros piores, eu gostaria que a saída fosse:
#!/usr/bin/env bash
cat > desired_result_file.txt <<EOL
|m|head1|
|3,4,6|
|3e,2,23|
|m|head1|
|dljs,wqpw,2;a|
|dllw,w1p,1q;a|
EOL
#!/usr/bin/env bash
cat > example_file.txt <<EOL
group, , price
1, value, 3.21
1, 3.42, 4.11
1, 3.5, 1.22
2, 4.1, 9.2
2, 4.2, 2.11
EOL
Desejo substituir o valor na 1ª linha, 2ª coluna deste arquivo pelo valor na 2ª linha, 2ª coluna. Então, estou procurando que o awk retorne isso:
#!/usr/bin/env bash
cat > example_file.txt <<EOL
group, value, price
1, value, 3.21
1, 3.42, 4.11
1, 3.5, 1.22
2, 4.1, 9.2
2, 4.2, 2.11
EOL
Não consigo encontrar como referenciar a próxima linha no awk:
cat example_file.txt | awk -F, 'BEGIN { OFS = FS } { if (NR==1) $2 = ??}'
Considere estes dados:
#!/usr/bin/env bash
cat > example_file.txt <<EOL
group, value, price
1, 3.21, 3.21
1, 3.42, 4.11
1, 3.5, 1.22
2, 4.1, 9.2
2, 4.2, 2.11
EOL
Eu quero mover a coluna 'valor' na frente:
value, price, group
3.21, 3.21, 1
3.42, 4.11, 1
3.5, 1.22, 1
4.1, 9.2, 2
4.2, 2.11, 2
o problema é: a ordem da coluna (ou mesmo o número da coluna ou o nome de muitas dessas colunas - exceto 'valor' que está sempre lá) varia de arquivo para arquivo. Portanto, tenho que selecionar a coluna de valor por nome (não por ordem).
Como posso fazer isso?
Então aqui está o culpado:
zcat Merged.csv.gz | awk -F, 'FNR == 1 {header = $0; next} !seen[$7]++ {print header | "gzip > data/S20180528_"$7".txt.gz"} {print | "gzip > data/S20180528_"$7".txt.gz";}'
Quando o executo neste arquivo grande (Merged.csv.gz), recebo:
awk: cannot open "gzip > data/S20180528_2505329.txt.gz" for output (Too many open files)
Criei o comando original colando partes que encontrei aqui e no stackoverflow. Pesquisando no Google, acho que posso ter confundido algumas das citações ao fazê-lo. Agora, não consigo descobrir quais.
Estou jogando com o Visual Studio Code no Ubuntu. Um grande problema é que não consigo descobrir como anexar um virtualenv a um arquivo. Então, eu abro o arquivo. No canto inferior esquerdo, vejo o caminho padrão para o executável python do sistema:
(Clique na imagem para ampliar)
quando clico nele, uma lista com dois caminhos é mostrada na caixa do meio superior (ambos são os python padrão do sistema).
Tentei definir o python.venvPath
(em verde na janela da direita). mas não funciona.
Minha pergunta é: como atribuir um virtualenv a um projeto, para que sempre que eu abrir esse arquivo, ele use esse venv?
Considere este arquivo:
#!/usr/bin/env bash
cat > example_file.txt <<EOL
group, value
1, 3.21
1, 3.42
1, 3.5
2, 4.1
2, 4.2
EOL
Agora quero definir o valor na segunda coluna, segunda linha para uma variável val2
. Eu tento:
var='example_file.txt'
cat $var | val2=$(awk -F, "NR==2{print $2; exit}")
mas
- Isso não funciona:
echo "$val2"
não retorna nada - Gostaria de atribuir
val2
um valor padrão caso o arquivo tenha apenas uma linha.
considere este arquivo:
#!/usr/bin/env bash
cat > example_file.txt <<EOL
group, value
1, 3.21
1, 3.42
1, 3.5
2, 4.1
2, 4.2
EOL
no script a seguir, agrupo as linhas desse arquivo pelos valores da primeira coluna (os valores da primeira coluna já estão classificados) e imprimo cada grupo em um arquivo txt individual:
var=$(echo 'example_file.txt')
var2=$(echo $var|sed "s/.txt//g")
mkdir -p output
cat $var | awk -v varn="$var2" -F, 'FNR == 1 {header = $0;next} !seen[$1]++ { print header > ("output/"varn"_"$1".txt") }{print > ("output/"varn"_"$1".txt");}'
pergunta
Como imprimir o resultado em um fluxo compactado "output/"varn"_"$1".gz"
(em vez de um arquivo txt descompactado "output/"varn"_"$1".txt"
)?
(portanto, a saída desejada é a mesma que o script produz agora, apenas quero que os arquivos de saída sejam compactados e salvos em .txt.gz
vez de texto simples, como o código faz agora).
(Tentei usar gzip >
dentro dos {print}
blocos mas sem sucesso :(
(PS, eu sou um pouco noob e awk e, portanto, a pergunta pode ser realmente idiota.)
Ok, eu tenho muitos arquivos em uma pasta que possuem a string " $varname .txt"` em seus nomes:
for file in find output/ -name "*$varname*.txt" -type f; do echo $file; done
...
agora, todos esses arquivos têm duas linhas e 9 colunas. Quero adicionar o conteúdo da linha 2, col 9 ao final do nome do arquivo (logo antes do .txt
).
Então eu sei como imprimir o valor na célula (2, 9) de todos esses arquivos:
find output/ -name "*$varname*.txt" -type f -exec awk -F' ' 'NR==2{print $9}' {} \;
O que eu luto é como colocar essa string como a última coisa antes da extensão nesses nomes de arquivo
Eu tenho um arquivo compactado Data.zip
que (se descompactado) contém muitos arquivos:
file_1.txt
file_2.txt
...
...
Eu quero ter um comando CLI para transformar isso em uma nova pasta Data_zipped
que contém os arquivos individuais Data.zip
descompactados:
Data_zipped/file_1.zip
Data_zipped/file_2.zip
...
...
Mas o truque é que Data.zip
contém tantos arquivos (e eles são tão grandes coletivamente) que não consigo primeiro descompactar Data.zip e depois compactar os arquivos individuais dentro dele de uma só vez: tudo tem que acontecer 'na hora':
Para todos os arquivos emData.zip/
- obtenha o i-ésimo arquivo
- comprimi-lo em
name_of_that_file.zip
- armazene o arquivo compactado na nova pasta
Data_zipped
Como fazer isso usando a CLI?
Eu modifiquei o script super claro do @George para ajudar a explicar melhor a estrutura da pasta:
#!/bin/bash
#Name of zip file
filename=$1
# Check if valid zip file is passed
if [[ $(file "$filename" | grep -o "Zip archive data") =~ "Zip archive data" ]]
then
# List the contents of the zip file
unzip -l "$filename"
# Get the number of files in zip file
count=$(unzip -l "$filename" | awk '{count = $2 - 2} END {print count}')
echo "$count"
fi
exit 0
Quando executo, recebo (eu uso um token Data.zip com apenas alguns arquivos, mas você entendeu):
./GU_script.sh Data.zip
Archive: Data.zip
Length Date Time Name
--------- ---------- ----- ----
0 2017-11-21 22:58 Data/
120166309 2017-11-21 14:58 Data/Level1_file.csv
120887829 2017-11-21 14:58 Data/Level1_other_file.csv
163772796 2017-11-21 14:59 Data/Level1_yet_other_file.csv
193519556 2017-11-21 14:59 Data/Level1_here_is_another_file.csv
153798779 2017-11-21 14:59 Data/Level1_so_many_files.csv
131918225 2017-11-21 14:59 Data/Level1_many_more_to_go.csv
--------- -------
884063494 7 files
5
Então, basicamente, eu gostaria que Level1_file.csv
os outros arquivos fossem compactados individualmente (-> Level1_file.zip) e colocados em uma pasta.
Editar2;
Acabei combinando as respostas de @George e @David Foerster:
#!/bin/bash
#Name of zip file
filename="$1"
# Check if valid zip file is passed
if file "$filename" | grep -wq "Zip archive data";
then
#!/bin/bash
src="$filename"
dst=.
LC_ALL=C unzip -l "$src" |
sed -re '1,/^-{6}/d; /^-{6}/,$d; /\/$/d; s/^\s*(\S+\s+){3}//' |
while IFS= read -r f; do
out="${f##*/}"; out="$dst/${f%%/*}_zipped/${out%.*}.zip"
if [ ! -d "${out%/*}" ]; then
mkdir -p "${out%/*}" || break
fi
zip --copy "$src" --out "$out" "$f" || break
done
else
echo "Invalid file type: \"zip\" file required"
exit 1
fi
quando eu lanço o Spyder3 ou o backintime, eles agora piscam brevemente no iniciador da unidade, mas nunca aparecem.
(ver imagem). Como consertar isto? Ambos costumavam trabalhar como uma semana atrás.
Editar:
Claro, aqui estão dois:
~$ backintime
Traceback (most recent call last):
File "/usr/share/backintime/common/backintime.py", line 23, in <module>
import config
File "/usr/share/backintime/common/config.py", line 31, in <module>
import tools
File "/usr/share/backintime/common/tools.py", line 43, in <module>
import dbus
File "/usr/lib/python3/dist-packages/dbus/__init__.py", line 81, in <module>
import dbus.exceptions as exceptions
AttributeError: module 'dbus' has no attribute 'exceptions'
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Original exception was:
Traceback (most recent call last):
File "/usr/share/backintime/common/backintime.py", line 23, in <module>
import config
File "/usr/share/backintime/common/config.py", line 31, in <module>
import tools
File "/usr/share/backintime/common/tools.py", line 43, in <module>
import dbus
File "/usr/lib/python3/dist-packages/dbus/__init__.py", line 81, in <module>
import dbus.exceptions as exceptions
AttributeError: module 'dbus' has no attribute 'exceptions'
e
~$ spyder3
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/spyder/utils/external/lockfile.py", line 150, in lock
symlink(str(os.getpid()), self.name)
FileExistsError: [Errno 17] File exists: '6240' -> '/home/me/.config/spyder-py3/spyder.lock'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/spyder/utils/external/lockfile.py", line 177, in lock
kill(int(pid), 0)
ProcessLookupError: [Errno 3] No such process
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/spyder/app/start.py", line 118, in main
lock_created = lock.lock()
File "/usr/local/lib/python3.6/dist-packages/spyder/utils/external/lockfile.py", line 196, in lock
rmlink(self.name)
PermissionError: [Errno 13] Permission denied: '/home/me/.config/spyder-py3/spyder.lock'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/qtpy/__init__.py", line 148, in <module>
from PySide import __version__ as PYSIDE_VERSION # analysis:ignore
ModuleNotFoundError: No module named 'PySide'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/spyder3", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python3.6/dist-packages/spyder/app/start.py", line 138, in main
from spyder.app import mainwindow
File "/usr/local/lib/python3.6/dist-packages/spyder/app/mainwindow.py", line 49, in <module>
requirements.check_qt()
File "/usr/local/lib/python3.6/dist-packages/spyder/requirements.py", line 39, in check_qt
import qtpy
File "/usr/local/lib/python3.6/dist-packages/qtpy/__init__.py", line 154, in <module>
raise PythonQtError('No Qt bindings could be found')
qtpy.PythonQtError: No Qt bindings could be found
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Original exception was:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/spyder/utils/external/lockfile.py", line 150, in lock
symlink(str(os.getpid()), self.name)
FileExistsError: [Errno 17] File exists: '6240' -> '/home/me/.config/spyder-py3/spyder.lock'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/spyder/utils/external/lockfile.py", line 177, in lock
kill(int(pid), 0)
ProcessLookupError: [Errno 3] No such process
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/spyder/app/start.py", line 118, in main
lock_created = lock.lock()
File "/usr/local/lib/python3.6/dist-packages/spyder/utils/external/lockfile.py", line 196, in lock
rmlink(self.name)
PermissionError: [Errno 13] Permission denied: '/home/me/.config/spyder-py3/spyder.lock'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/qtpy/__init__.py", line 148, in <module>
from PySide import __version__ as PYSIDE_VERSION # analysis:ignore
ModuleNotFoundError: No module named 'PySide'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/spyder3", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python3.6/dist-packages/spyder/app/start.py", line 138, in main
from spyder.app import mainwindow
File "/usr/local/lib/python3.6/dist-packages/spyder/app/mainwindow.py", line 49, in <module>
requirements.check_qt()
File "/usr/local/lib/python3.6/dist-packages/spyder/requirements.py", line 39, in check_qt
import qtpy
File "/usr/local/lib/python3.6/dist-packages/qtpy/__init__.py", line 154, in <module>
raise PythonQtError('No Qt bindings could be found')
qtpy.PythonQtError: No Qt bindings could be found
(Tentei seguir as instruções daqui . Não consigo usar o Anaconda)
sudo apt-get install spyder3
instala 150 MB de brindes. Então eu faço:
pip install -U spyder
Então eu faço
spyder3
e eu recebo:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/spyder/utils/external/lockfile.py", line 150, in lock
symlink(str(os.getpid()), self.name)
FileExistsError: [Errno 17] File exists: '4809' -> '/home/me/.config/spyder-py3/spyder.lock'## Heading ##
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/spyder/utils/external/lockfile.py", line 177, in lock
kill(int(pid), 0)
ProcessLookupError: [Errno 3] No such process
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/spyder/app/start.py", line 118, in main
lock_created = lock.lock()
File "/usr/local/lib/python3.6/dist-packages/spyder/utils/external/lockfile.py", line 196, in lock
rmlink(self.name)
PermissionError: [Errno 13] Permission denied: '/home/me/.config/spyder-py3/spyder.lock'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/qtpy/__init__.py", line 148, in <module>
from PySide import __version__ as PYSIDE_VERSION # analysis:ignore
ModuleNotFoundError: No module named 'PySide'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/spyder3", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python3.6/dist-packages/spyder/app/start.py", line 138, in main
from spyder.app import mainwindow
File "/usr/local/lib/python3.6/dist-packages/spyder/app/mainwindow.py", line 49, in <module>
requirements.check_qt()
File "/usr/local/lib/python3.6/dist-packages/spyder/requirements.py", line 39, in check_qt
import qtpy
File "/usr/local/lib/python3.6/dist-packages/qtpy/__init__.py", line 154, in <module>
raise PythonQtError('No Qt bindings could be found')
qtpy.PythonQtError: No Qt bindings could be found
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File "/usr/lib/python3/dist-packages/apport/__init__.py", line 5, in <module>
from apport.report import Report
File "/usr/lib/python3/dist-packages/apport/report.py", line 30, in <module>
import apport.fileutils
File "/usr/lib/python3/dist-packages/apport/fileutils.py", line 23, in <module>
from apport.packaging_impl import impl as packaging
File "/usr/lib/python3/dist-packages/apport/packaging_impl.py", line 23, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
import apt_pkg
ModuleNotFoundError: No module named 'apt_pkg'
Original exception was:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/spyder/utils/external/lockfile.py", line 150, in lock
symlink(str(os.getpid()), self.name)
FileExistsError: [Errno 17] File exists: '4809' -> '/home/me/.config/spyder-py3/spyder.lock'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/spyder/utils/external/lockfile.py", line 177, in lock
kill(int(pid), 0)
ProcessLookupError: [Errno 3] No such process
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/spyder/app/start.py", line 118, in main
lock_created = lock.lock()
File "/usr/local/lib/python3.6/dist-packages/spyder/utils/external/lockfile.py", line 196, in lock
rmlink(self.name)
PermissionError: [Errno 13] Permission denied: '/home/me/.config/spyder-py3/spyder.lock'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/qtpy/__init__.py", line 148, in <module>
from PySide import __version__ as PYSIDE_VERSION # analysis:ignore
ModuleNotFoundError: No module named 'PySide'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/spyder3", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python3.6/dist-packages/spyder/app/start.py", line 138, in main
from spyder.app import mainwindow
File "/usr/local/lib/python3.6/dist-packages/spyder/app/mainwindow.py", line 49, in <module>
requirements.check_qt()
File "/usr/local/lib/python3.6/dist-packages/spyder/requirements.py", line 39, in check_qt
import qtpy
File "/usr/local/lib/python3.6/dist-packages/qtpy/__init__.py", line 154, in <module>
raise PythonQtError('No Qt bindings could be found')
qtpy.PythonQtError: No Qt bindings could be found
Pode-se instalar Rsymphony
fazendo:
apt-get install r-cran-rsymphony
Mas essa é uma versão antiga. Ao tentar instalar o mais recente (de dentro R
), obtém-se:
* installing *source* package ‘Rsymphony’ ...
** package ‘Rsymphony’ successfully unpacked and MD5 sums checked
Cannot find SYMPHONY libraries and headers.
See <https://projects.coin-or.org/SYMPHONY>.
ERROR: configuration failed for package ‘Rsymphony’
Como instalar o pacote Rsymphony mais recente?
Eu gostaria que o usuário tivesse direitos totais sobre esta pasta (assim como todos os subdiretórios e arquivos nela):
~/.blabla
atualmente de propriedade da raiz.
Eu encontrei vários posts (neste fórum e em outros lugares) sobre como fazer isso para arquivos, mas não consigo encontrar uma maneira de fazer isso para pastas inteiras.