【问题标题】:Failing to start a Scrapy project within Windows Ubuntu WSL using virtual environment无法使用虚拟环境在 Windows Ubuntu WSL 中启动 Scrapy 项目
【发布时间】:2020-10-13 04:26:00
【问题描述】:

我对 Scrapy 很陌生,发现这个错误让我很困惑。我在 Windows 机器上工作并使用 Ubuntu 子系统 (WSL) 来完成我的所有开发工作。我已经创建了一个虚拟环境并尝试开始学习Scrapy,但是,每当我在虚拟环境中尝试创建一个新项目时,就会出现以下错误并且无法成功创建文件。

操作系统:Windows 10

环境:Windows 10 - WSL Ubuntu 20.04.1

Python:Python 3.8.5

重新创建问题:

python3 -m venv /Directory/
source /Directory/bin/activate
(venv) pip install scrapy
(venv) scrapy startproject /directory/

错误信息:

Traceback (most recent call last):
  File "/mnt/c/Users/.../bin/scrapy", line 10, in <module>
    sys.exit(execute())
  File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/cmdline.py", line 145, in 
execute
    _run_print_help(parser, _run_command, cmd, args, opts)
  File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/cmdline.py", line 100, in 
_run_print_help
    func(*a, **kw)
  File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/cmdline.py", line 153, in 
_run_command
    cmd.run(args, opts)
  File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/commands/startproject.py", line 110, in run
    self._copytree(self.templates_dir, abspath(project_dir))
  File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/commands/startproject.py", line 83, in _copytree
    self._copytree(srcname, dstname)
  File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/commands/startproject.py", line 83, in _copytree
    self._copytree(srcname, dstname)
  File "/mnt/c/Users/.../lib/python3.8/site-packages/scrapy/commands/startproject.py", line 88, in _copytree
    copystat(src, dst)
  File "/usr/lib/python3.8/shutil.py", line 376, in copystat
    _copyxattr(src, dst, follow_symlinks=follow)
  File "/usr/lib/python3.8/shutil.py", line 326, in _copyxattr
    os.setxattr(dst, name, value, follow_symlinks=follow_symlinks)
PermissionError: [Errno 13] Permission denied: '/mnt/c/Users/.../module/spiders' 

奇怪的是,当我不使用虚拟环境时,它工作得很好。有什么办法可以解决这个问题吗?

非常感谢。

【问题讨论】:

    标签: python python-3.x scrapy virtualenv windows-subsystem-for-linux


    【解决方案1】:

    代替

    python3 -m venv /Directory/
    

    试试

    python3 -m venv Directory
    

    前者将您的虚拟环境作为目录放在 / 下,而不是在当前目录中。

    (请不要调用你的虚拟环境目录;))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-18
      • 1970-01-01
      • 2021-01-13
      • 1970-01-01
      • 1970-01-01
      • 2020-12-09
      • 1970-01-01
      相关资源
      最近更新 更多