跑步管理.py运行PyCharm的collectstatic在windows下创建权限被拒绝的错误

2024-09-28 17:04:45 发布

您现在位置:Python中文网/ 问答频道 /正文

运行时管理.py对于运行PyCharm的Django项目,我得到了一个“权限被拒绝”错误。不管我跑不跑都是这样管理.py从PyCharm内或从命令窗口。在运行collectstatic之前,当我关闭PyCharm时,错误就消失了一次,但现在这也没用了。你知道吗

我的问题是:有没有办法让PyCharm释放它对静态文件的控制,这样我就可以运行collectatic而不必关闭和打开PyCharm?你知道吗

从PyCharm内部管理.py工具:

manage.py@liyapilates > collectstatic
"C:\Program Files\JetBrains\PyCharm 2019.1\bin\runnerw64.exe" C:\Users\Opher\PycharmProjects\liyapilates\venv\Scripts\python.exe "C:\Program Files\JetBrains\PyCharm 2019.1\helpers\pycharm\django_manage.py" collectstatic "C:/Users/Opher/Documents/CloudStation/CloudStation/2019 Spring/Django/liyapilates"
Tracking file by folder pattern:  migrations

You have requested to collect static files at the destination
location as specified in your settings:

    C:\Users\Opher\Documents\CloudStation\CloudStation\2019 Spring\Django\liyapilates\staticfiles

This will overwrite existing files!
Are you sure you want to do this?

Type 'yes' to continue, or 'no' to cancel:  yes
Traceback (most recent call last):
  File "C:\Program Files\JetBrains\PyCharm 2019.1\helpers\pycharm\django_manage.py", line 52, in <module>
    run_command()
  File "C:\Program Files\JetBrains\PyCharm 2019.1\helpers\pycharm\django_manage.py", line 46, in run_command
    run_module(manage_file, None, '__main__', True)
  File "C:\Users\Opher\AppData\Local\Programs\Python\Python37-32\lib\runpy.py", line 205, in run_module
    return _run_module_code(code, init_globals, run_name, mod_spec)
  File "C:\Users\Opher\AppData\Local\Programs\Python\Python37-32\lib\runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)
  File "C:\Users\Opher\AppData\Local\Programs\Python\Python37-32\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:/Users/Opher/Documents/CloudStation/CloudStation/2019 Spring/Django/liyapilates\manage.py", line 21, in <module>
    main()
  File "C:/Users/Opher/Documents/CloudStation/CloudStation/2019 Spring/Django/liyapilates\manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\core\management\__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\core\management\base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\core\management\base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\contrib\staticfiles\management\commands\collectstatic.py", line 188, in handle
    collected = self.collect()
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\contrib\staticfiles\management\commands\collectstatic.py", line 128, in collect
    for original_path, processed_path, processed in processor:
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\whitenoise\storage.py", line 136, in post_process_with_compression
    for name, hashed_name, processed in files:
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\whitenoise\storage.py", line 87, in post_process
    for name, hashed_name, processed in files:
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\contrib\staticfiles\storage.py", line 403, in post_process
    yield from super().post_process(*args, **kwargs)
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\contrib\staticfiles\storage.py", line 237, in post_process
    for name, hashed_name, processed, _ in self._post_process(paths, adjustable_paths, hashed_files):
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\contrib\staticfiles\storage.py", line 308, in _post_process
    saved_name = self._save(hashed_name, content_file)
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\core\files\storage.py", line 266, in _save
    fd = os.open(full_path, self.OS_OPEN_FLAGS, 0o666)
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\Opher\\Documents\\CloudStation\\CloudStation\\2019 Spring\\Django\\liyapilates\\staticfiles\\admin\\css\\vendor\\select2\\select2.3805311d5fc1.css'

Process finished with exit code 1

这是在PyCharm运行的命令窗口中执行的(基本相同):

>python manage.py collectstatic

You have requested to collect static files at the destination
location as specified in your settings:

    c:\Users\Opher\Documents\CloudStation\CloudStation\2019 Spring\Django\liyapilates\staticfiles

This will overwrite existing files!
Are you sure you want to do this?

Type 'yes' to continue, or 'no' to cancel: yes
Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()
  File "manage.py", line 17, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\core\management\__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\core\management\base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\core\management\base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\contrib\staticfiles\management\commands\collectstatic.py", line 188, in handle
    collected = self.collect()
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\contrib\staticfiles\management\commands\collectstatic.py", line 128, in collect
    for original_path, processed_path, processed in processor:
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\whitenoise\storage.py", line 136, in post_process_with_compression
    for name, hashed_name, processed in files:
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\whitenoise\storage.py", line 87, in post_process
    for name, hashed_name, processed in files:
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\contrib\staticfiles\storage.py", line 403, in post_process
    yield from super().post_process(*args, **kwargs)
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\contrib\staticfiles\storage.py", line 237, in post_process
    for name, hashed_name, processed, _ in self._post_process(paths, adjustable_paths, hashed_files):
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\contrib\staticfiles\storage.py", line 308, in _post_process
    saved_name = self._save(hashed_name, content_file)
  File "C:\Users\Opher\PycharmProjects\liyapilates\venv\lib\site-packages\django\core\files\storage.py", line 266, in _save
    fd = os.open(full_path, self.OS_OPEN_FLAGS, 0o666)
PermissionError: [Errno 13] Permission denied: 'c:\\Users\\Opher\\Documents\\CloudStation\\CloudStation\\2019 Spring\\Django\\liyapilates\\staticfiles\\admin\\css\\responsive.3a465780d49f.css'

只是现在我得到了同样的错误,即使我完全关闭PyCharm。你知道吗


Tags: djangonameinpyselfvenvlibpackages