Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Python
все вопросы по Python (Питон)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

Открыть новую тему     Написать ответ в эту тему

Adm10



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здесь обсуждается всё, что связано с использованием Python: программирование, библиотеки, ресурсы и другие вопросы

Python


Python - высокоуровневый язык программирования общего назначения с динамической типизацией и автоматическим управлением памятью, ориентированный на повышение производительности разработчика, читаемости кода и его качества, а также на обеспечение переносимости написанных на нём программ

С чего начать?
Простой, понятный и вместе с тем грамотный ресурс на русском языке: pythonworld.ru + самоучитель
Библия PEP8

Всего записей: 35 | Зарегистр. 13-10-2006 | Отправлено: 15:48 16-06-2007 | Исправлено: Lin1980, 22:13 27-01-2025
LevT



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

https://habr.com/ru/companies/otus/articles/960206/

Всего записей: 18295 | Зарегистр. 14-10-2001 | Отправлено: 18:03 30-10-2025
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
надо:
поставить пакет diffpy (diffpy.srreal и diffpy.structure)
 
через pip install ставится только вторая часть,
авторы говорят, что надо ставить через Anacondа/conda/Mini-conda
а я тут совсем нулевой...
 
чё делать?
 
если что-то из этого  анакондо-питонова змеючника надо ещё что-то ставить, то плиз -- самое простое и по шагам для дурака (меня)...
 
спасибо...

Всего записей: 25836 | Зарегистр. 06-12-2002 | Отправлено: 17:14 12-11-2025
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
через pip install ставится только вторая часть,

а с первой какие проблемы? DLL под винду в комплекте не идет, ее либо компилировать отдельно, либо конду с уже собранной.
правда там какая то уж древняя версия и без винды
https://anaconda.org/diffpy/libdiffpy/files/manage
винду собирать из
https://github.com/diffpy/libdiffpy/releases/tag/v1.4.1rc1

Цитата:
сли что-то из этого  анакондо-питонова змеючника надо ещё что-то ставить

поставить Anaconda Navigator, там есть куча удобного, как и среда для питона.

Всего записей: 16738 | Зарегистр. 20-09-2014 | Отправлено: 20:03 12-11-2025 | Исправлено: Mavrikii, 20:20 12-11-2025
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
ничего не понял...
 

Цитата:
а с первой какие проблемы?


Цитата:

G:>pip install diffpy.srreal
 
Collecting diffpy.srreal
  Using cached diffpy.srreal-1.3.0.tar.gz (138 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error
 
  Getting requirements to build wheel did not run successfully.
  exit code: 1
  [17 lines of output]
      Traceback (most recent call last):
        File "E:\Python\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
          main()
        File "E:\Python\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "E:\Python\lib\site-packages\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 118, in get_requires_for_bui
ld_wheel
          return hook(config_settings)
        File "C:\Windows\Temp\pip-build-env-fh9fwsi7\overlay\Lib\site-packages\setuptools\build_meta.py", line 341, in get_requires_
for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
        File "C:\Windows\Temp\pip-build-env-fh9fwsi7\overlay\Lib\site-packages\setuptools\build_meta.py", line 323, in _get_build_requires
          self.run_setup()
        File "C:\Windows\Temp\pip-build-env-fh9fwsi7\overlay\Lib\site-packages\setuptools\build_meta.py", line 488, in run_setup
          self).run_setup(setup_script=setup_script)
        File "C:\Windows\Temp\pip-build-env-fh9fwsi7\overlay\Lib\site-packages\setuptools\build_meta.py", line 338, in run_setup
          exec(code, locals())
        File "<string>", line 17, in <module>
      ModuleNotFoundError: No module named 'numpy'
      [end of output]
 
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
 
  Getting requirements to build wheel did not run successfully.
  exit code: 1
  See above for output.
 
note: This error originates from a subprocess, and is likely not a problem with pip.

Всего записей: 25836 | Зарегистр. 06-12-2002 | Отправлено: 22:42 12-11-2025 | Исправлено: akaGM, 22:45 12-11-2025
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
ModuleNotFoundError: No module named 'numpy'

ему требуется модуль numpy
по нормальному, он должен сам автоматически установиться тоже.
но установите его самостоятельно.
 
но все равно не запустится, думаю, там не идет DLL в комплекте.

Всего записей: 16738 | Зарегистр. 20-09-2014 | Отправлено: 22:45 12-11-2025
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
numpy давно стоит и трудится, не в нём дело...
 
Добавлено:
 
а где-нибудь можно брать уже инстальнутые версии / ДЛЛ ?
 
мне нужна версия 1.3 srreal для питона 3.7

Всего записей: 25836 | Зарегистр. 06-12-2002 | Отправлено: 22:47 12-11-2025 | Исправлено: akaGM, 22:54 12-11-2025
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
numpy давно стоит и трудится, не в нём дело...

именно в нем

Цитата:
ModuleNotFoundError: No module named 'numpy'

как еще можно это интерпретировать?
скорее всего запускается не та версия питона.
я бы делал все в venv, чтобы точно и безопасно.
 
ваш питон пытается обработать модуль wheel, у которого есть зависимость от numpy, но он его не видит.
 
не совсем понятно, почему он пытается его собрать, а не скачать уже собранный.
у меня, например

Цитата:
venv>pip install wheel
Collecting wheel
  Downloading wheel-0.45.1-py3-none-any.whl.metadata (2.3 kB)
Downloading wheel-0.45.1-py3-none-any.whl (72 kB)
Installing collected packages: wheel
Successfully installed wheel-0.45.1

и все
 
а также  
Цитата:
pip install diffpy.srreal
Collecting diffpy.srreal
  Using cached diffpy_srreal-1.4.0-cp311-cp311-win_amd64.whl.metadata (9.0 kB)
Requirement already satisfied: setuptools in d:\coding\venv\lib\site-packages (from diffpy.srreal) (65.5.0)
Requirement already satisfied: numpy in d:\coding\venv\lib\site-packages (from diffpy.srreal) (2.3.4)
Using cached diffpy_srreal-1.4.0-cp311-cp311-win_amd64.whl (1.9 MB)
Installing collected packages: diffpy.srreal
Successfully installed diffpy.srreal-1.4.0

 
но без DLL это не поможет, так как

Цитата:
python ..\test.py
Traceback (most recent call last):
  File "d:\coding\test.py", line 6, in <module>
    from diffpy.srreal.pairquantity import PairQuantity
  File "d:\coding\venv\Lib\site-packages\diffpy\srreal\pairquantity.py", line 22, in <module>
    from diffpy.srreal.srreal_ext import PairQuantity
ImportError: DLL load failed while importing srreal_ext: The specified module could not be found.

 
нужно ее компилировать под винду, либо искать уже скомплированную.
для сборки много чего хотят.

Цитата:
libdiffpy library requires C++ compiler and the following software:
 
scons - software constructions tool (1.0 or later)
libboost-dev - Boost C++ libraries development files (1.56 or later)
GSL - GNU Scientific Library for C
Recommended software:
 
libobjcryst - C++ library for free objects for crystallography, https://github.com/diffpy/libobjcryst
cxxtest - CxxTest Unit Testing Framework, http://cxxtest.com

 
если это все делать под Linux, то будет проще.

Всего записей: 16738 | Зарегистр. 20-09-2014 | Отправлено: 23:31 12-11-2025 | Исправлено: Mavrikii, 23:43 12-11-2025
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
именно в нем
у меня стоит и работает numpy 1.17.4, а кто его не видит
ну и х с ним, короче...
я всё сделал на pymatgen -- библа не хуже diffpy

Всего записей: 25836 | Зарегистр. 06-12-2002 | Отправлено: 23:50 12-11-2025 | Исправлено: akaGM, 23:51 12-11-2025
LZAA

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

   В сценарии используется 'print', и в результате выполнения в 'cmd' появляется несколько записей. Например:
 
    Команда
    Запись 1
    Запись 2
 
   Как следует изменить код, чтобы вывод выглядел таким образом:
 
    Команда
 
    Запись 1
 
    Запись 2
 
    ?

Всего записей: 2652 | Зарегистр. 09-01-2010 | Отправлено: 17:15 24-12-2025
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Как следует изменить код

добавить в вывод символ переноса строки '\n'

Всего записей: 3262 | Зарегистр. 03-02-2009 | Отправлено: 18:05 24-12-2025
LZAA

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
         
Код:
    for clearkey in clearkeys:
        print(f"--key {clearkey['keyId']}:{clearkey['key']}", end=" ")
    print()
    print(decrypted_obj["playbackData"]["mediaPlaylistUrl"])

 
   Перебором добавлял '\n' в разные 'места', но так и не заработало.
   Как для этого кода сделать правильно?

Всего записей: 2652 | Зарегистр. 09-01-2010 | Отправлено: 19:26 24-12-2025 | Исправлено: LZAA, 19:27 24-12-2025
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LZAA

Цитата:
Как для этого кода сделать правильно?

что из этого где?

Цитата:
print('\n')
print(decrypted_obj["playbackData"]["mediaPlaylistUrl"], end='\n\n')

считая, что вывод выше так и должен был быть в одну строку с пробелом - параметры вызова команды.
 
 

Всего записей: 16738 | Зарегистр. 20-09-2014 | Отправлено: 20:19 24-12-2025 | Исправлено: Mavrikii, 22:06 24-12-2025
YuS_2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LZAA

Цитата:
Как для этого кода сделать правильно?

Вот тут правильно у Вас уточняют...  
 что из этого где?
 
ничего непонятно же... в приведенном коде, не может быть вывода:

Цитата:
    Команда
    Запись 1
    Запись 2

Либо приведите полный код, а также какой у него реальный вывод и какой желаете получить в итоге. Тогда можно точнее будет помочь.
 
Mavrikii

Цитата:
print('\n')

Сюда необязательно, там по умолчанию будет перевод строки (пустая строка, точнее)

Всего записей: 3262 | Зарегистр. 03-02-2009 | Отправлено: 21:52 24-12-2025
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
YuS_2

Цитата:
Сюда необязательно, там по умолчанию будет перевод строки (пустая строка, точнее)

да там предыдущая строка же без переноса, а нужно два, вот и.

Всего записей: 16738 | Зарегистр. 20-09-2014 | Отправлено: 22:04 24-12-2025
LZAA

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
                      Mavrikii
                      YuS_2
 
   Немного разобрался. Как это со мной обычно бывает, я неправильно понял рекомендацию и поэтому вместо '\n' использовал \n.
 
   Решение задачи в общем виде - print('\n'). Но есть одна странность.
 
   Запись 1 задаётся кодом - print(f"--key {clearkey['keyId']}:{clearkey['key']}", end=" ")
   Запись 2 задаётся кодом - print(decrypted_obj["playbackData"]["mediaPlaylistUrl"])

Код:
    for clearkey in clearkeys:
        print(f"--key {clearkey['keyId']}:{clearkey['key']}", end=" ")
    print('\n')
    print(decrypted_obj["playbackData"]["mediaPlaylistUrl"])

   Таким образом в 'cmd' создаётся 'пустая' строка между двумя записями. Но нужна ещё 'пустая' строка между Командой и Записью 1. Но такой код:

Код:
    print('\n')  
    for clearkey in clearkeys:
        print(f"--key {clearkey['keyId']}:{clearkey['key']}", end=" ")

  создаёт две 'пустые' строки между Командой и Записью 1.
  Поэтому я сделал так:

Код:
    print()  
    for clearkey in clearkeys:
        print(f"--key {clearkey['keyId']}:{clearkey['key']}", end=" ")

  При этом создаётся одна 'пустая' строка, что и требуется. Получается, что и print() в некоторых случаях может создавать 'пустую' строку. Вопрос: в чём разница между командами print() и print('\n')?
 
   

Всего записей: 2652 | Зарегистр. 09-01-2010 | Отправлено: 00:54 25-12-2025 | Исправлено: LZAA, 01:23 25-12-2025
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LZAA

Цитата:
print(end='\n')  

не нужно end указывать, и так уже по умолчанию равно переносу строки
просто print()

Всего записей: 16738 | Зарегистр. 20-09-2014 | Отправлено: 01:00 25-12-2025 | Исправлено: Mavrikii, 01:00 25-12-2025
LZAA

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я своё последнее сообщение отредактировал.

Цитата:
Вопрос: в чём разница между командами print() и print('\n')?  


Всего записей: 2652 | Зарегистр. 09-01-2010 | Отправлено: 01:28 25-12-2025
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LZAA

Цитата:
Вопрос: в чём разница между командами print() и print('\n')?

в том, что первое выводит один перенос строки (по умолчанию), а второе два переноса - указанный и по умолчанию.

Всего записей: 16738 | Зарегистр. 20-09-2014 | Отправлено: 01:34 25-12-2025
LZAA

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Понятно. Но меня сбивает с толку такое обстоятельство.
   
Цитата:
да там предыдущая строка же без переноса, а нужно два, вот и.

    Получается, что
   
Цитата:
первое выводит один перенос строки (по умолчанию)

    работает только в том случае, если предыдущая строка закончена с переносом. Как говорится 'возможны варианты'. Но кое что до меня всё же дошло. Спасибо всем за помощь.
 

Всего записей: 2652 | Зарегистр. 09-01-2010 | Отправлено: 01:45 25-12-2025
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LZAA

Цитата:
 работает только в том случае, если предыдущая строка закончена с переносом

оно работает всегда, просто если предыдущая заканчивается переносом, то будет одна пустая строка, а если не заканчивается, то будет перенос для нее.  
вы последовательно выводите текст, если в нем или после него будет перенос, то следующее пойдет с новой строки, а если не будет, то будет продолжаться предыдущая строка. все просто.

Всего записей: 16738 | Зарегистр. 20-09-2014 | Отправлено: 01:48 25-12-2025
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Python


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

Рейтинг.ru

Рейтинг.ru